tbb-commits
Threads by month
- ----- 2025 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 19117 discussions
commit ed6e1481c83bfc692a719df583710a3ec45fda04
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Fri May 23 09:23:19 2014 -0400
Update translations.
---
src/chrome/locale/bg/progress.dtd | 2 +-
src/chrome/locale/ca/network-settings.dtd | 24 ++++++------
src/chrome/locale/ca/torlauncher.properties | 2 +-
src/chrome/locale/cs/network-settings.dtd | 2 +-
src/chrome/locale/el/torlauncher.properties | 2 +-
src/chrome/locale/es-AR/torlauncher.properties | 50 ++++++++++++------------
src/chrome/locale/es-MX/network-settings.dtd | 2 +-
src/chrome/locale/es-MX/torlauncher.properties | 18 ++++-----
src/chrome/locale/es/torlauncher.properties | 4 +-
src/chrome/locale/ko/network-settings.dtd | 18 ++++-----
src/chrome/locale/ko/torlauncher.properties | 6 +--
src/chrome/locale/ms-MY/progress.dtd | 2 +-
src/chrome/locale/pt-BR/torlauncher.properties | 8 ++--
src/chrome/locale/pt/torlauncher.properties | 2 +-
src/chrome/locale/sv/torlauncher.properties | 2 +-
src/chrome/locale/tr/network-settings.dtd | 22 +++++------
src/chrome/locale/tr/torlauncher.properties | 10 ++---
src/chrome/locale/zh-HK/network-settings.dtd | 2 +-
src/chrome/locale/zh-HK/torlauncher.properties | 14 +++----
src/chrome/locale/zh-TW/network-settings.dtd | 2 +-
src/chrome/locale/zh-TW/torlauncher.properties | 2 +-
21 files changed, 98 insertions(+), 98 deletions(-)
diff --git a/src/chrome/locale/bg/progress.dtd b/src/chrome/locale/bg/progress.dtd
index 26b2594..45a5ee3 100644
--- a/src/chrome/locale/bg/progress.dtd
+++ b/src/chrome/locale/bg/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Състояние на Тор">
<!ENTITY torprogress.openSettings "Отвори настройки">
<!ENTITY torprogress.heading "Свързване с Тор мрежата">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Моля изчакайте,докато установим връзка с Тор мрежата.">
diff --git a/src/chrome/locale/ca/network-settings.dtd b/src/chrome/locale/ca/network-settings.dtd
index 51008c8..5cc6665 100644
--- a/src/chrome/locale/ca/network-settings.dtd
+++ b/src/chrome/locale/ca/network-settings.dtd
@@ -2,27 +2,27 @@
<!-- For "first run" wizard: -->
-<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
+<!ENTITY torsettings.prompt "Abans de connectar-te a la xarxa Thor, necessites introduir informació sobre el ordinador que fas servir per la connexió a internet.">
<!ENTITY torSettings.yes "Sí">
<!ENTITY torSettings.no "No">
<!ENTITY torSettings.firstQuestion "Quina de les següuens descriula teva situació?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored, filtered, or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge, firewall, or proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "Necessito configurar un pont, el tallafocs o els paràmetres del proxy.">
<!ENTITY torSettings.configure "Configura">
<!ENTITY torSettings.connectPrompt2 "M'agradaria conectar-me directament a la xarxa Tor.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
+<!ENTITY torSettings.connectPrompt3 "Això funciona en la majoria dels casos.">
<!ENTITY torSettings.connect "Conectar">
<!ENTITY torSettings.proxyQuestion "Necessita aquest ordinador usar un proxy per accedir a internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a proxy.">
+<!ENTITY torSettings.proxyHelp "Si no estas segur de com respondre a aquesta pregunta, observa els paràmetres d'Internet en un altre navegador per veure si està configurat per utilitzar un proxy.">
<!ENTITY torSettings.enterProxy "Introdueix les opcions del proxy.">
-<!ENTITY torSettings.firewallQuestion "Does this computer's Internet connection go through a firewall that only allows connections to certain ports?">
-<!ENTITY torSettings.firewallHelp "If you are not sure how to answer this question, choose No. If you encounter problems connecting to the Tor network, change this setting.">
-<!ENTITY torSettings.enterFirewall "Enter a comma-separated list of ports that are allowed by the firewall.">
-<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
+<!ENTITY torSettings.firewallQuestion "La connexió d'aquest ordinador va a través d'un firewall que només permet les connexions per certs ports?">
+<!ENTITY torSettings.firewallHelp "Si no estas segur de com respondre a aquesta pregunta, selecciona no. Si tens problemes de connexió per la xarxa Tor, canvia aquest paràmetre.">
+<!ENTITY torSettings.enterFirewall "Escriviu una llista separada per comes dels ports que estan permesos pel proxy.">
+<!ENTITY torSettings.bridgeQuestion "El vostre proveïdor d'Internet (ISP) bloqueja o censura les connexions a la Xarxa Tor?">
<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
@@ -34,7 +34,7 @@
<!ENTITY torsettings.optional "Opcional
">
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a proxy to access the Internet">
+<!ENTITY torsettings.useProxy.checkbox "Aquest ordinador ha de fer servir un proxy per accedir a Internet">
<!ENTITY torsettings.useProxy.type "Tipus de Proxy:">
<!ENTITY torsettings.useProxy.address "Adreça:">
<!ENTITY torsettings.useProxy.address.placeholder "Direcció IP o nom del host">
@@ -44,21 +44,21 @@
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
+<!ENTITY torsettings.firewall.checkbox "Aquest ordinador va a través d'un proxy que només permet connexions a certs ports">
<!ENTITY torsettings.firewall.allowedPorts "Ports permesos:">
<!ENTITY torsettings.useBridges.checkbox "El meu proveidor d'internet (ISP) bloqueja les conexions a la xarxa Tor">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Entra en un o més repetidors (un per linia).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
+<!ENTITY torsettings.useBridges.placeholder "introdueix adreça:port">
<!ENTITY torsettings.copyLog "Copiar el Log al portapapers">
<!ENTITY torsettings.bridgeHelpTitle "Ajuda Repetidors">
<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these three methods:">
<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
+<!ENTITY torsettings.bridgeHelp2 "Utilitza un navegador web o vés a: https://bridges.torproject.org">
<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
<!ENTITY torsettings.bridgeHelp3 "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from a gmail.com or yahoo.com email address.">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
diff --git a/src/chrome/locale/ca/torlauncher.properties b/src/chrome/locale/ca/torlauncher.properties
index c423d03..d2e1d15 100644
--- a/src/chrome/locale/ca/torlauncher.properties
+++ b/src/chrome/locale/ca/torlauncher.properties
@@ -55,4 +55,4 @@ torlauncher.bootstrapWarning.identity=les identitats no coincideixen
torlauncher.bootstrapWarning.timeout=S'ha excedit el temps d'espera de connexió
torlauncher.bootstrapWarning.noroute=no hi ha ruta cap al servidor
torlauncher.bootstrapWarning.ioerror=error de lectura/escriptura
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
+torlauncher.bootstrapWarning.pt_missing=falta de transport afegible
diff --git a/src/chrome/locale/cs/network-settings.dtd b/src/chrome/locale/cs/network-settings.dtd
index 1e08971..d974db3 100644
--- a/src/chrome/locale/cs/network-settings.dtd
+++ b/src/chrome/locale/cs/network-settings.dtd
@@ -50,7 +50,7 @@
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Zadejte jedno nebo více mostních relé (jedno na řádek).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
+<!ENTITY torsettings.useBridges.placeholder "zadej adresu:port">
<!ENTITY torsettings.copyLog "Zkopíruj logový soubor Toru do schránky">
<!ENTITY torsettings.bridgeHelpTitle "Nápověda o mostních relé">
diff --git a/src/chrome/locale/el/torlauncher.properties b/src/chrome/locale/el/torlauncher.properties
index f112828..e3f52f0 100644
--- a/src/chrome/locale/el/torlauncher.properties
+++ b/src/chrome/locale/el/torlauncher.properties
@@ -55,4 +55,4 @@ torlauncher.bootstrapWarning.identity=η ταυτότητα δεν ταιριά
torlauncher.bootstrapWarning.timeout=λήξη χρονικού ορίου σύνδεσης
torlauncher.bootstrapWarning.noroute=δεν βρέθηκε διαδρομή προς σύνδεση
torlauncher.bootstrapWarning.ioerror=σφάλμα ανάγνωσης/εγγραφής
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
+torlauncher.bootstrapWarning.pt_missing=Λείπει δυνατότητα σύνδεσης μεταφοράς.
diff --git a/src/chrome/locale/es-AR/torlauncher.properties b/src/chrome/locale/es-AR/torlauncher.properties
index 6ff39de..2b293e8 100644
--- a/src/chrome/locale/es-AR/torlauncher.properties
+++ b/src/chrome/locale/es-AR/torlauncher.properties
@@ -7,9 +7,9 @@ torlauncher.tor_exited=Salida inesperada de Tor
torlauncher.please_restart_app=Por favor, reinicie esta aplicación
torlauncher.tor_controlconn_failed=No se pudo conectar Tor con el puerto de control
torlauncher.tor_failed_to_start=Fallo al iniciar Tor
-torlauncher.tor_control_failed=Failed to take control of Tor.
-torlauncher.tor_bootstrap_failed=Tor failed to establish a Tor network connection.
-torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S).
+torlauncher.tor_control_failed=Falló toma de control de Tor
+torlauncher.tor_bootstrap_failed=Fallo al establecer una conexión con la red Tor
+torlauncher.tor_bootstrap_failed_details=%1$S falló (%2$S).
torlauncher.unable_to_start_tor=No se puede iniciar Tor.\n\n%S
torlauncher.tor_missing=No se encuentra el archivo ejecutable de Tor
@@ -24,10 +24,10 @@ torlauncher.ensure_tor_is_running=Por favor, asegurese que Tor esta ejecutandose
torlauncher.error_proxy_addr_missing=Debes especificar tu IP o el nombre de tu Host y un puerto para que Tor utilize un Proxy para acceder a internet.
torlauncher.error_proxy_type_missing=Debes seleccionar el tipo de Proxy.
torlauncher.error_bridges_missing=Debes especificar uno o más puentes.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
+torlauncher.error_default_bridges_type_missing=Debe seleccionar un tipo de transporte para los puentes provistos.
+torlauncher.error_bridge_bad_default_type=No hay puentes disponibles que tengan el tipo de transporte %S. Por favor ajuste su configuración.
-torlauncher.recommended_bridge=(recommended)
+torlauncher.recommended_bridge=(recomendado)
torlauncher.connect=Conectar
torlauncher.quit=Quitar
@@ -36,23 +36,23 @@ torlauncher.done=Hecho
torlauncher.forAssistance=Para solicitar asistencia, contactese al %S
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
-torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection
-torlauncher.bootstrapStatus.requesting_status=Retrieving network status
-torlauncher.bootstrapStatus.loading_status=Loading network status
-torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
-torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
-torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
+torlauncher.bootstrapStatus.conn_dir=Conectando para retransmitir directorio
+torlauncher.bootstrapStatus.handshake_dir=Estableciendo una conexión segura al directorio
+torlauncher.bootstrapStatus.requesting_status=Regresando el estado de la red de trabajo
+torlauncher.bootstrapStatus.loading_status=Cargando el estado de la red de trabajo
+torlauncher.bootstrapStatus.loading_keys=Cargando certificados de dominio
+torlauncher.bootstrapStatus.requesting_descriptors=Solicitando información de retransmisión
+torlauncher.bootstrapStatus.loading_descriptors=Cargando información de retransmisión
torlauncher.bootstrapStatus.conn_or=Conectando a la red Tor
-torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
-torlauncher.bootstrapStatus.done=Connected to the Tor network!
-
-torlauncher.bootstrapWarning.done=done
-torlauncher.bootstrapWarning.connectrefused=connection refused
-torlauncher.bootstrapWarning.misc=miscellaneous
-torlauncher.bootstrapWarning.resourcelimit=insufficient resources
-torlauncher.bootstrapWarning.identity=identity mismatch
-torlauncher.bootstrapWarning.timeout=connection timeout
-torlauncher.bootstrapWarning.noroute=no route to host
-torlauncher.bootstrapWarning.ioerror=read/write error
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
+torlauncher.bootstrapStatus.handshake_or=Estableciendo una ruta Tor
+torlauncher.bootstrapStatus.done=¡Conectado a la red Tor!
+
+torlauncher.bootstrapWarning.done=finalizado
+torlauncher.bootstrapWarning.connectrefused=conexión rechazada
+torlauncher.bootstrapWarning.misc=misceláneo
+torlauncher.bootstrapWarning.resourcelimit=recursos insuficientes
+torlauncher.bootstrapWarning.identity=error de indentificación
+torlauncher.bootstrapWarning.timeout=tiempo de espera de conexión
+torlauncher.bootstrapWarning.noroute=sin ruta al servidor
+torlauncher.bootstrapWarning.ioerror=error de lectura/escritura
+torlauncher.bootstrapWarning.pt_missing=Perdida de la conectividad\n
diff --git a/src/chrome/locale/es-MX/network-settings.dtd b/src/chrome/locale/es-MX/network-settings.dtd
index 5ada2f1..4eba7d2 100644
--- a/src/chrome/locale/es-MX/network-settings.dtd
+++ b/src/chrome/locale/es-MX/network-settings.dtd
@@ -37,7 +37,7 @@
<!ENTITY torsettings.useProxy.type "Proxy Type:">
<!ENTITY torsettings.useProxy.address "Address:">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
+<!ENTITY torsettings.useProxy.port "Puerto:">
<!ENTITY torsettings.useProxy.username "Username:">
<!ENTITY torsettings.useProxy.password "Password:">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
diff --git a/src/chrome/locale/es-MX/torlauncher.properties b/src/chrome/locale/es-MX/torlauncher.properties
index 3ca3453..577f9ea 100644
--- a/src/chrome/locale/es-MX/torlauncher.properties
+++ b/src/chrome/locale/es-MX/torlauncher.properties
@@ -15,7 +15,7 @@ torlauncher.unable_to_start_tor=No se ha podido iniciar Tor.\n\n%S
torlauncher.tor_missing=Falta el ejecutable de Tor.
torlauncher.torrc_missing=Falta el archivo torrc.
torlauncher.datadir_missing=El diccionario de datos de Tor no existe.
-torlauncher.password_hash_missing=Failed to get hashed password.
+torlauncher.password_hash_missing=No se pudo obtener la contraseña cifrada.
torlauncher.failed_to_get_settings=Unable to retrieve Tor settings.\n\n%S
torlauncher.failed_to_save_settings=Unable to save Tor settings.\n\n%S
@@ -24,7 +24,7 @@ torlauncher.ensure_tor_is_running=Por favor asegúrese que Tor esté en funciona
torlauncher.error_proxy_addr_missing=Debes especificar ambos, una dirección IP o un hostname y un número de puerto para configurar Tor para usar un proxy y acceder a Internet
torlauncher.error_proxy_type_missing=Debes seleccionar el tipo de proxy.
torlauncher.error_bridges_missing=Debes especificar uno o más puentes
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
+torlauncher.error_default_bridges_type_missing=Debes seleccionar un tipo de transporte para los puentes proporcionados.
torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
torlauncher.recommended_bridge=(recomendado)
@@ -34,25 +34,25 @@ torlauncher.quit=Abandonar
torlauncher.quit_win=Salir
torlauncher.done=Hecho
-torlauncher.forAssistance=For assistance, contact %S
+torlauncher.forAssistance=Si necesitas ayuda, contacta a %S
-torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory
+torlauncher.bootstrapStatus.conn_dir=Conectando a un directorio de retransmisión
torlauncher.bootstrapStatus.handshake_dir=Estableciendo conexión con un directorio encriptado.
torlauncher.bootstrapStatus.requesting_status=Recuperando estado de la red
torlauncher.bootstrapStatus.loading_status=Cargando estado de red.
torlauncher.bootstrapStatus.loading_keys=Cargando certificados de autoridad.
-torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
-torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
+torlauncher.bootstrapStatus.requesting_descriptors=Solicitando información de retransmisión
+torlauncher.bootstrapStatus.loading_descriptors=Cargando información del relé
torlauncher.bootstrapStatus.conn_or=Conectando a la red Tor
torlauncher.bootstrapStatus.handshake_or=Estableciendo un circuito Tor
torlauncher.bootstrapStatus.done=¡Conectado a la red Tor!
torlauncher.bootstrapWarning.done=hecho
torlauncher.bootstrapWarning.connectrefused=Conexión rechazada
-torlauncher.bootstrapWarning.misc=miscellaneous
+torlauncher.bootstrapWarning.misc=miscelaneo
torlauncher.bootstrapWarning.resourcelimit=Recursos insuficientes
torlauncher.bootstrapWarning.identity=Identificar desajuste
torlauncher.bootstrapWarning.timeout=Tiempo de conexión agotado
-torlauncher.bootstrapWarning.noroute=no route to host
+torlauncher.bootstrapWarning.noroute=no existe ruta al host
torlauncher.bootstrapWarning.ioerror=error de lectura/escritura
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
+torlauncher.bootstrapWarning.pt_missing=Falta un transporte conectable
diff --git a/src/chrome/locale/es/torlauncher.properties b/src/chrome/locale/es/torlauncher.properties
index 4c1fc30..c968541 100644
--- a/src/chrome/locale/es/torlauncher.properties
+++ b/src/chrome/locale/es/torlauncher.properties
@@ -11,8 +11,8 @@ torlauncher.tor_control_failed=Fallo al tomar control de Tor.
torlauncher.tor_bootstrap_failed=Tor no pudo establecer una conexión a la red Tor.
torlauncher.tor_bootstrap_failed_details=%1$S falló (%2$S).
-torlauncher.unable_to_start_tor=No fue posible iniciar Tor.\n\n%S
-torlauncher.tor_missing=No se encuentra el fichero ejecutable de Tor.
+torlauncher.unable_to_start_tor=Imposible iniciar Tor.\n\n%S
+torlauncher.tor_missing=No se encuentra el archivo ejecutable de Tor.
torlauncher.torrc_missing=No se encuentra el archivo "torrc"
torlauncher.datadir_missing=El directorio de datos de Tor no existe.
torlauncher.password_hash_missing=Fallo al obtener la contraseña cifrada.
diff --git a/src/chrome/locale/ko/network-settings.dtd b/src/chrome/locale/ko/network-settings.dtd
index 2af691c..4956dc5 100644
--- a/src/chrome/locale/ko/network-settings.dtd
+++ b/src/chrome/locale/ko/network-settings.dtd
@@ -12,7 +12,7 @@
<!ENTITY torSettings.configurePrompt2 "브릿지, 방화벽, 프록시 설정 구성을 해야 합니다.">
<!ENTITY torSettings.configure "구성">
<!ENTITY torSettings.connectPrompt2 "Tor 네트워크에 직접 연결하고 싶습니다.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
+<!ENTITY torSettings.connectPrompt3 "이것은 대부분의 상황에서 동작합니다">
<!ENTITY torSettings.connect "연결">
<!ENTITY torSettings.proxyQuestion "이 컴퓨터는 인터넷에 접속하는 데 프록시가 필요한가요?">
@@ -23,8 +23,8 @@
<!ENTITY torSettings.firewallHelp "이 질문에 어떻게 대답해야 할지 확신이 서지 않으면 아니오를 선택하세요. Tor 네트워크에 접속할 때 문제를 만났다면 이 설정을 변경해 주세요.">
<!ENTITY torSettings.enterFirewall "방화벽에 따라 허가되고 있는 포트 목록 입력해 주세요. 포트 번호는 콤마로 구분됩니다.">
<!ENTITY torSettings.bridgeQuestion "인터넷 서비스 공급자(ISP)가 Tor 네트워크 접속을 차단하거나 검열하고 있나요?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
-<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
+<!ENTITY torSettings.bridgeHelp "이 질문에 어떻게 대답해야할지 잘 모르는 경우 아니오를 선택하십시오.  예를 선택하면 Tor 네트워크에 대한 연결을 차단하는 것을 더욱 어렵게하는 목록 화되지 않은 릴레이이고 Tor Bridges을 구성하는 것이 요구됩니다.">
+<!ENTITY torSettings.bridgeSettingsPrompt "제공된 브릿지 세트를 사용하거나 사용자 지정 브릿지 세트를 취득하여 입력 할 수 있습니다.">
<!-- Other: -->
@@ -47,7 +47,7 @@
<!ENTITY torsettings.firewall.allowedPorts "허용된 포트:">
<!ENTITY torsettings.useBridges.checkbox "인터넷 서비스 공급자(ISP)가 Tor 네트워크 접속을 차단합니다.">
<!ENTITY torsettings.useBridges.default "제공된 브릿지에 연결">
-<!ENTITY torsettings.useBridges.type "Transport type:">
+<!ENTITY torsettings.useBridges.type "전송 유형:">
<!ENTITY torsettings.useBridges.custom "이용자 브릿지 접속">
<!ENTITY torsettings.useBridges.label "1개 이상의 브릿지 중계 서버를 입력해 주세요. (각 줄에 한 개씩)">
<!ENTITY torsettings.useBridges.placeholder "주소 입력 : 포트 번호">
@@ -55,10 +55,10 @@
<!ENTITY torsettings.copyLog "Tor log를 클립보드에 복사하기">
<!ENTITY torsettings.bridgeHelpTitle "브릿지 중계 서버 도움말">
<!ENTITY torsettings.bridgeHelp1 "Tor 네트워크에 접속할 수 없는 경우, 귀하의 인터넷 서비스 공급자(ISP)나 별도의 기관이 Tor를 차단하고 있을 가능성이 있습니다.  그럴 때는 숨겨진 중계 서버를 통해 Tor 브릿지를 사용함으로써 이 문제를 해결할 수도 있습니다.">
-<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these three methods:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
+<!ENTITY torsettings.bridgeHelp1B "사전 설정되고 제공되어진 브릿지 주소 집합을 사용하거나 다음 세 가지 방법 중 하나를 사용하여 사용자 지정 주소의 집합을 검색 할 수 있습니다.">
+<!ENTITY torsettings.bridgeHelp2Heading "웹을 통해">
<!ENTITY torsettings.bridgeHelp2 "https://bridges.torproject.org 를 방문하십시오.">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
+<!ENTITY torsettings.bridgeHelp3Heading "메일 자동 응답 시스템을 통해">
<!ENTITY torsettings.bridgeHelp3 "공개 브릿지 주소를 찾는 또 하나의 방법은 본문에 'get bridges'라고 적은 E-mail을 bridges(a)torproject.org 앞으로 보내는 것입니다.  단, 브릿지 주소를 크래커들이 수집하기 어렵게 하기 위해 gmail.com 이나 yahoo.com 으로 보내주시면 감사하겠습니다.">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
+<!ENTITY torsettings.bridgeHelp4Heading "헬프 데스크를 통해">
+<!ENTITY torsettings.bridgeHelp4 "최후의 수단으로 help(a)rt.torproject.xn--org-568n 정중 한 메일 메시지를 보내 브릿지 주소를 요청할 수 있습니다.  사람이 각 요청에 대응할 필요가 있다는 점에 주의해주십시오">
diff --git a/src/chrome/locale/ko/torlauncher.properties b/src/chrome/locale/ko/torlauncher.properties
index 8714f80..ed43d43 100644
--- a/src/chrome/locale/ko/torlauncher.properties
+++ b/src/chrome/locale/ko/torlauncher.properties
@@ -24,8 +24,8 @@ torlauncher.ensure_tor_is_running=Tor가 실행중인 지 확인하여 주십시
torlauncher.error_proxy_addr_missing=인터넷에 접속하기 위해 프록시를 사용한다면, Ip주소나 호스트 이름, 그리고 포트 번호를 입력해야 합니다.
torlauncher.error_proxy_type_missing=프록시 유형을 선택해 주십시오.
torlauncher.error_bridges_missing=하나 이상의 bridge를 지정해야 합니다.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
+torlauncher.error_default_bridges_type_missing=제공된 브리지의 전송 유형을 선택해야합니다.
+torlauncher.error_bridge_bad_default_type=전송 유형 %S가 제공 한 브리지 유효한 것이 아닙니다. 설정을 조정하십시오.
torlauncher.recommended_bridge=(권장함)
@@ -55,4 +55,4 @@ torlauncher.bootstrapWarning.identity=계정 불일치
torlauncher.bootstrapWarning.timeout=연결 타임아웃
torlauncher.bootstrapWarning.noroute=호스트로의 연결 경로가 없음
torlauncher.bootstrapWarning.ioerror=읽기 / 쓰기 오류
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
+torlauncher.bootstrapWarning.pt_missing=플러그가 가능한 전송을 찾을 수 없습니다
diff --git a/src/chrome/locale/ms-MY/progress.dtd b/src/chrome/locale/ms-MY/progress.dtd
index fd2a975..f24ab09 100644
--- a/src/chrome/locale/ms-MY/progress.dtd
+++ b/src/chrome/locale/ms-MY/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Buka tetapan.">
<!ENTITY torprogress.heading "Menyambung ke rangkaian Tor.">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Sila tunggu sementara kami wujudkan sambung ke rangkaian Tor. ">
diff --git a/src/chrome/locale/pt-BR/torlauncher.properties b/src/chrome/locale/pt-BR/torlauncher.properties
index 5ab5499..5e9b860 100644
--- a/src/chrome/locale/pt-BR/torlauncher.properties
+++ b/src/chrome/locale/pt-BR/torlauncher.properties
@@ -19,13 +19,13 @@ torlauncher.password_hash_missing=Falha ao obter a senha criptografada.
torlauncher.failed_to_get_settings=Impossível recuperar as configurações de Tor.
torlauncher.failed_to_save_settings=Impossível salvar as configurações de Tor.
-torlauncher.ensure_tor_is_running=Por favor, verifique que Tor esteja rodando.
+torlauncher.ensure_tor_is_running=Por favor, verifique que Tor está sendo executado.
torlauncher.error_proxy_addr_missing=Você deve especificar um endereço IP ou um servidor, e um número de porta para configurar Tor para usar um proxy de acesso a Internet.
torlauncher.error_proxy_type_missing=Você deve selecionar um tipo de proxy.
torlauncher.error_bridges_missing=Você deve especificar uma ou mais pontes.
-torlauncher.error_default_bridges_type_missing=Você deve selecionar um tipo de transporte para os bridges fornecidos.
-torlauncher.error_bridge_bad_default_type=Nenhum dos bridges fornecidos tem disponível o tipo de transporte %S. Por favor ajuste suas configurações.
+torlauncher.error_default_bridges_type_missing=Você deve selecionar um tipo de transporte para as pontes fornecidas.
+torlauncher.error_bridge_bad_default_type=Entre as pontes fornecidas que têm o tipo de transporte %S, nenhuma está disponível. Por favor ajuste suas configurações.
torlauncher.recommended_bridge=(recomendado)
@@ -37,7 +37,7 @@ torlauncher.done=Terminado
torlauncher.forAssistance=Para assistência, contacte
torlauncher.bootstrapStatus.conn_dir=Conectando a um diretório de servidores
-torlauncher.bootstrapStatus.handshake_dir=Estabelecendo conexão de diretório criptografado
+torlauncher.bootstrapStatus.handshake_dir=Estabelecendo uma conexão de diretório criptografada
torlauncher.bootstrapStatus.requesting_status=Recebendo estado da rede
torlauncher.bootstrapStatus.loading_status=Carregando estado da rede
torlauncher.bootstrapStatus.loading_keys=Carregando certificados de autoridade
diff --git a/src/chrome/locale/pt/torlauncher.properties b/src/chrome/locale/pt/torlauncher.properties
index 87b8aeb..780e44c 100644
--- a/src/chrome/locale/pt/torlauncher.properties
+++ b/src/chrome/locale/pt/torlauncher.properties
@@ -55,4 +55,4 @@ torlauncher.bootstrapWarning.identity=identidade não correspondente
torlauncher.bootstrapWarning.timeout=Tempo de ligação expirado
torlauncher.bootstrapWarning.noroute=sem rota para o hospedeiro
torlauncher.bootstrapWarning.ioerror=Erro de leitura/escrita
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
+torlauncher.bootstrapWarning.pt_missing=Transporte de ligacao ausente
diff --git a/src/chrome/locale/sv/torlauncher.properties b/src/chrome/locale/sv/torlauncher.properties
index 375bd8c..1d89986 100644
--- a/src/chrome/locale/sv/torlauncher.properties
+++ b/src/chrome/locale/sv/torlauncher.properties
@@ -55,4 +55,4 @@ torlauncher.bootstrapWarning.identity=identitet felmatchad
torlauncher.bootstrapWarning.timeout=tidsgränsen överskreds
torlauncher.bootstrapWarning.noroute=framkomlig väg till värddatorn saknas
torlauncher.bootstrapWarning.ioerror=läs-/skrivfel
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
+torlauncher.bootstrapWarning.pt_missing=Pluggable Transport saknas
diff --git a/src/chrome/locale/tr/network-settings.dtd b/src/chrome/locale/tr/network-settings.dtd
index 9e0aff5..7ac52b6 100644
--- a/src/chrome/locale/tr/network-settings.dtd
+++ b/src/chrome/locale/tr/network-settings.dtd
@@ -8,11 +8,11 @@
<!ENTITY torSettings.no "Hayır">
<!ENTITY torSettings.firstQuestion "Aşağıdakilerden hangisi durumunuzu en iyi açıklıyor?">
-<!ENTITY torSettings.configurePrompt1 "İnternet bağlantınız sansürlenmiş,filtrelenmiş veyahut proxylenmiş.">
-<!ENTITY torSettings.configurePrompt2 "Köprü, güvenlik duvarı ve vekil sunucu ayarlarının konfigürasyonunu yapmam lazım.">
+<!ENTITY torSettings.configurePrompt1 "İnternet bağlantınız sansürlenmiş, filtrelenmiş veya vekil sunucu altında.">
+<!ENTITY torSettings.configurePrompt2 "Köprü, güvenlik duvarı ve vekil sunucu ayarlarını yapılandırmam gerekli.">
<!ENTITY torSettings.configure "Yapılandır">
<!ENTITY torSettings.connectPrompt2 "Doğrudan Tor ağına bağlanmak istiyorum">
-<!ENTITY torSettings.connectPrompt3 "Bu çoğu durumlarda çalışır.">
+<!ENTITY torSettings.connectPrompt3 "Bu çoğu durumda çalışır.">
<!ENTITY torSettings.connect "Bağlan">
<!ENTITY torSettings.proxyQuestion "Bu bilgisayarın İnternete erişirken bir vekil kullanması gerekiyor mu?">
@@ -22,8 +22,8 @@
<!ENTITY torSettings.firewallQuestion "Bu bilgisayarın İnternet bağlantısı, sadece belirli bağlantı noktalarına izin veren bir güvenlik duvarından geçiyor mu?">
<!ENTITY torSettings.firewallHelp "Eğer bu soruya nasıl cevap vereceğinizden emin değilseniz, Hayır seçin. Eğer Tor ağına bağlanırken sorunla karşılaşırsanız, bu ayarı değiştirin.">
<!ENTITY torSettings.enterFirewall "Güvenlik duvarı tarafından izin verilen bağlantı noktalarının virgülle ayrılmış bir listesini girin.">
-<!ENTITY torSettings.bridgeQuestion "İnternet Servis Sağlayıcınızı (ISS) engellesin veya ayrıcaTor Bağlantınızı sansürlesin mi?">
-<!ENTITY torSettings.bridgeHelp "Bu soruyu nasıl cevaplayacağınızdan emin değilseniz Hayır 'ı Secin.  Eğer Evet'i seçerseniz, Tor Ağ bağlantıları engellemek için, daha zor hale getirilip listelenmeyen aktarmalar için Tor Köprülerini yapılandırmanız istenecektir.">
+<!ENTITY torSettings.bridgeQuestion "İnternet Servis Sağlayıcınız (ISS) Tor Ağına bağlantıları engelliyor veya sansürlüyor mu?">
+<!ENTITY torSettings.bridgeHelp "Bu soruyu nasıl cevaplayacağınızdan emin değilseniz Hayır'ı Seçin.  Eğer Evet'i seçerseniz, Tor Ağına bağlantıyı engellemeyi daha zor hale getiren listelenmeyen aynalar olan Tor Köprülerini yapılandırmanız istenecektir.">
<!ENTITY torSettings.bridgeSettingsPrompt "Sağlanan köprülerin kümesini kullanabilirsiniz veya özel bir köprü seti girebilir veya sağlayabilirsiniz.">
<!-- Other: -->
@@ -47,18 +47,18 @@
<!ENTITY torsettings.firewall.allowedPorts "İzin verilen portlar:">
<!ENTITY torsettings.useBridges.checkbox "İnternet Servis Sağlayıcım (İSS) Tor Ağı ile bağlantılarımı engelliyor">
<!ENTITY torsettings.useBridges.default "Sağlanan köprüler ile bağlan">
-<!ENTITY torsettings.useBridges.type "Taşıma türü:">
+<!ENTITY torsettings.useBridges.type "Aktarım türü:">
<!ENTITY torsettings.useBridges.custom "Özel köprüler girin">
<!ENTITY torsettings.useBridges.label "Bir veya daha fazla köprü aynası girin (her satıra bir tane).">
-<!ENTITY torsettings.useBridges.placeholder "adresi yazın:port">
+<!ENTITY torsettings.useBridges.placeholder "adresi:port şeklinde yazın">
<!ENTITY torsettings.copyLog "Tor Günlüğünü Panoya Kopyala">
<!ENTITY torsettings.bridgeHelpTitle "Köprü Ayna Yardımı">
-<!ENTITY torsettings.bridgeHelp1 "Tor ağına bağlanamıyorsanız, nedeni kullandığınız İnternet Servis Sağlayıcısı (ISS) veya başka bir kurum Tor'u engelliyor olabilir.  Çoğunlukla bu problemi Tor köprüleri ile çözebilirisiniz bunlar engellenmesi daha zor olan listede olmayan aktarma noktalarıdır">
+<!ENTITY torsettings.bridgeHelp1 "Tor ağına bağlanamıyorsanız, kullandığınız İnternet Servis Sağlayıcısı (ISS) veya başka bir kurum Tor'u engelliyor olabilir.  Çoğunlukla bu problemi, engellenmesi daha zor listelenmeyen aynalar olan Tor Köprülerini kullanarak çözebilirsiniz.">
<!ENTITY torsettings.bridgeHelp1B "Önceden yapılandırılan sağlanan köprü adresleri setini kullanabilirsiniz veya bu üç yöntemden birini kullanarak adres kümesinden özel bir set sağlayabilirsiniz:">
<!ENTITY torsettings.bridgeHelp2Heading "Web aracılığıyla.">
<!ENTITY torsettings.bridgeHelp2 "https://bridges.torproject.org sitesini ziyaret etmek için web tarayıcısı kullanın.">
-<!ENTITY torsettings.bridgeHelp3Heading "Eposta otomatik cevaplandırıcı aracılığıyla.">
-<!ENTITY torsettings.bridgeHelp3 "bridges(a)torproject.org adresine, iletide sadece 'get bridges' satırını yazarak bir e-posta gönderin.  Ancak, bir saldırganın çok sayıda köprü adresi öğrenmesini zorlaştırmak için bu epostayı gmail.com veya yahoo.com adreslerinden yollamanız gerekmektedir.">
+<!ENTITY torsettings.bridgeHelp3Heading "E-posta Otomatik Cevaplandırıcı Aracılığıyla">
+<!ENTITY torsettings.bridgeHelp3 "bridges(a)torproject.org adresine, iletide sadece 'get bridges' satırını yazarak bir e-posta gönderin.  Ancak, bir saldırganın çok sayıda köprü adresi öğrenmesini zorlaştırmak için bu e-postayı gmail.com veya yahoo.com adreslerinden yollamanız gerekmektedir.">
<!ENTITY torsettings.bridgeHelp4Heading "Help Desk aracılığıyla.">
-<!ENTITY torsettings.bridgeHelp4 "Son bir çare olarak köprü adres taleplerini help(a)rt.torproject.org adresine posta göndererek rica edebilirsiniz.  Birisinin bu talebi cevaplayacağını unutmayın.">
+<!ENTITY torsettings.bridgeHelp4 "Son bir çare olarak köprü adres taleplerini help(a)rt.torproject.org adresine posta göndererek rica edebilirsiniz.  Birisinin bu talebi cevaplayacağını unutmayın.">
diff --git a/src/chrome/locale/tr/torlauncher.properties b/src/chrome/locale/tr/torlauncher.properties
index 1a0226b..a8773d5 100644
--- a/src/chrome/locale/tr/torlauncher.properties
+++ b/src/chrome/locale/tr/torlauncher.properties
@@ -21,11 +21,11 @@ torlauncher.failed_to_get_settings=Tor ayarlarına ulaşılamıyor.\n\n%S
torlauncher.failed_to_save_settings=Tor ayarları kaydedilemiyor.\n\n%S
torlauncher.ensure_tor_is_running=Lütfen Tor'un çalıştığından emin olun.
-torlauncher.error_proxy_addr_missing=İnternet bağlanırken proxy kullanmak için IP adresi veya Sunucu ve port numarası girmeniz gerekiyor.
+torlauncher.error_proxy_addr_missing=İnternet bağlanırken vekil sunucu kullanmak için IP adresi veya sunucu ve bağlantı noktası numarası girmeniz gerekiyor.
torlauncher.error_proxy_type_missing=Vekil sunucu türünü seçmelisiniz.
torlauncher.error_bridges_missing=Bir ya da daha fazla köprü belirtmelisiniz.
-torlauncher.error_default_bridges_type_missing=Sağlanan köprüler için bir taşıma türü seçmelisiniz.
-torlauncher.error_bridge_bad_default_type=%S taşıma türü için sağlanan kullanılabilir köprüler yok. Ayarlarınızı lütfen ayarlayın.
+torlauncher.error_default_bridges_type_missing=Sağlanan köprüler için bir aktarım türü seçmelisiniz.
+torlauncher.error_bridge_bad_default_type=%S aktarım türü için sağlanan kullanılabilir köprüler yok. Ayarlarınızı lütfen ayarlayın.
torlauncher.recommended_bridge=(önerilen)
@@ -36,10 +36,10 @@ torlauncher.done=Tamamlandı
torlauncher.forAssistance=Yardım için %S ile bağlantıya geçin.
-torlauncher.bootstrapStatus.conn_dir=Aktarım klasörüne bağlanıyor
+torlauncher.bootstrapStatus.conn_dir=Bir ayna dizinine bağlanıyor
torlauncher.bootstrapStatus.handshake_dir=Şifrelenmiş dizin bağlantısı kuruluyor
torlauncher.bootstrapStatus.requesting_status=Ağ durumu güncelliyor
-torlauncher.bootstrapStatus.loading_status=Ağ yükleniyor
+torlauncher.bootstrapStatus.loading_status=Ağ durumu yükleniyor
torlauncher.bootstrapStatus.loading_keys=Doğrulama sertifikalarını yüklüyor
torlauncher.bootstrapStatus.requesting_descriptors=Ayna bilgisi isteniyor
torlauncher.bootstrapStatus.loading_descriptors=Ayna bilgisi yükleniyor
diff --git a/src/chrome/locale/zh-HK/network-settings.dtd b/src/chrome/locale/zh-HK/network-settings.dtd
index 3d7463a..c71c117 100644
--- a/src/chrome/locale/zh-HK/network-settings.dtd
+++ b/src/chrome/locale/zh-HK/network-settings.dtd
@@ -13,7 +13,7 @@
<!ENTITY torSettings.configure "Configure">
<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
-<!ENTITY torSettings.connect "Connect">
+<!ENTITY torSettings.connect "連接">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
diff --git a/src/chrome/locale/zh-HK/torlauncher.properties b/src/chrome/locale/zh-HK/torlauncher.properties
index d088f8d..278038e 100644
--- a/src/chrome/locale/zh-HK/torlauncher.properties
+++ b/src/chrome/locale/zh-HK/torlauncher.properties
@@ -1,10 +1,10 @@
### Copyright (c) 2014, The Tor Project, Inc.
### See LICENSE for licensing information.
-torlauncher.error_title=Tor Launcher
+torlauncher.error_title=Tor啟動器
torlauncher.tor_exited=Tor unexpectedly exited.
-torlauncher.please_restart_app=Please restart this application.
+torlauncher.please_restart_app=請重新啟動此程式。
torlauncher.tor_controlconn_failed=Could not connect to Tor control port.
torlauncher.tor_failed_to_start=Tor failed to start.
torlauncher.tor_control_failed=Failed to take control of Tor.
@@ -19,7 +19,7 @@ torlauncher.password_hash_missing=Failed to get hashed password.
torlauncher.failed_to_get_settings=Unable to retrieve Tor settings.\n\n%S
torlauncher.failed_to_save_settings=Unable to save Tor settings.\n\n%S
-torlauncher.ensure_tor_is_running=Please ensure that Tor is running.
+torlauncher.ensure_tor_is_running=請確定Tor運作中。
torlauncher.error_proxy_addr_missing=You must specify both an IP address or hostname and a port number to configure Tor to use a proxy to access the Internet.
torlauncher.error_proxy_type_missing=You must select the proxy type.
@@ -27,12 +27,12 @@ torlauncher.error_bridges_missing=You must specify one or more bridges.
torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
-torlauncher.recommended_bridge=(recommended)
+torlauncher.recommended_bridge=(建議)
-torlauncher.connect=Connect
+torlauncher.connect=連接
torlauncher.quit=離開
torlauncher.quit_win=離開
-torlauncher.done=Done
+torlauncher.done=完成
torlauncher.forAssistance=For assistance, contact %S
@@ -47,7 +47,7 @@ torlauncher.bootstrapStatus.conn_or=連接上Tor的網絡
torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit
torlauncher.bootstrapStatus.done=Connected to the Tor network!
-torlauncher.bootstrapWarning.done=done
+torlauncher.bootstrapWarning.done=完成
torlauncher.bootstrapWarning.connectrefused=connection refused
torlauncher.bootstrapWarning.misc=miscellaneous
torlauncher.bootstrapWarning.resourcelimit=insufficient resources
diff --git a/src/chrome/locale/zh-TW/network-settings.dtd b/src/chrome/locale/zh-TW/network-settings.dtd
index 6fcb103..6d66ac6 100644
--- a/src/chrome/locale/zh-TW/network-settings.dtd
+++ b/src/chrome/locale/zh-TW/network-settings.dtd
@@ -23,7 +23,7 @@
<!ENTITY torSettings.firewallHelp "若您無法確定如何回答這個問題,請選擇「否」。若您在連結至 Tor 網路時遭遇問題,請再改變此設定。">
<!ENTITY torSettings.enterFirewall "請輸入防火牆允許的連線埠(請以逗號分隔)。">
<!ENTITY torSettings.bridgeQuestion "您的網路供應商 (ISP) 阻擋或者審查 Tor 網路連線?">
-<!ENTITY torSettings.bridgeHelp "如果你不知道如何回答這個問題,請選擇「否」 ;如果你選擇選擇「是」,你將被要求設定Tor網橋,這可以讓阻擋客戶端與Tor伺服器的連接更困難。">
+<!ENTITY torSettings.bridgeHelp "如果你不知道如何回答這個問題,請選擇「否」  如果你選擇選擇「是」,你將被要求設定Tor網橋,這可以讓阻擋客戶端與Tor伺服器的連接更困難。">
<!ENTITY torSettings.bridgeSettingsPrompt "您可以使用預設的網橋或者你可以使用自定義設置的網橋。">
<!-- Other: -->
diff --git a/src/chrome/locale/zh-TW/torlauncher.properties b/src/chrome/locale/zh-TW/torlauncher.properties
index 1abca51..433b0dd 100644
--- a/src/chrome/locale/zh-TW/torlauncher.properties
+++ b/src/chrome/locale/zh-TW/torlauncher.properties
@@ -55,4 +55,4 @@ torlauncher.bootstrapWarning.identity=身分不一致
torlauncher.bootstrapWarning.timeout=連線逾時
torlauncher.bootstrapWarning.noroute=無連結至 host 的路徑
torlauncher.bootstrapWarning.ioerror=讀寫錯誤
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
+torlauncher.bootstrapWarning.pt_missing=缺少可插拔傳輸
1
0

[tor-launcher/master] Bug #11754: untranslated locales in Tor Launcher
by brade@torproject.org 23 May '14
by brade@torproject.org 23 May '14
23 May '14
commit 486cf961965e724632b86d44623949458aaeffe2
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Fri May 23 09:02:32 2014 -0400
Bug #11754: untranslated locales in Tor Launcher
Remove locales that have been removed from Transifex.
---
src/chrome/locale/af-ZA/network-settings.dtd | 64 --------------------
src/chrome/locale/am-ET/network-settings.dtd | 64 --------------------
src/chrome/locale/bg-BG/network-settings.dtd | 64 --------------------
src/chrome/locale/bn-BD/network-settings.dtd | 64 --------------------
src/chrome/locale/ca-ES/network-settings.dtd | 59 ------------------
src/chrome/locale/cs-CZ/network-settings.dtd | 64 --------------------
src/chrome/locale/el-GR/network-settings.dtd | 64 --------------------
src/chrome/locale/es-NI/network-settings.dtd | 64 --------------------
src/chrome/locale/sq-AL/network-settings.dtd | 64 --------------------
.../locale/zh-CN.GB2312/network-settings.dtd | 59 ------------------
src/chrome/locale/zh/network-settings.dtd | 59 ------------------
11 files changed, 689 deletions(-)
diff --git a/src/chrome/locale/af-ZA/network-settings.dtd b/src/chrome/locale/af-ZA/network-settings.dtd
deleted file mode 100644
index a346274..0000000
--- a/src/chrome/locale/af-ZA/network-settings.dtd
+++ /dev/null
@@ -1,64 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
-
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
-
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored, filtered, or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge, firewall, or proxy settings.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
-<!ENTITY torSettings.connect "Connect">
-
-<!ENTITY torSettings.proxyQuestion "Does this computer need to use a proxy to access the Internet?">
-<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a proxy.">
-<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
-<!ENTITY torSettings.firewallQuestion "Does this computer's Internet connection go through a firewall that only allows connections to certain ports?">
-<!ENTITY torSettings.firewallHelp "If you are not sure how to answer this question, choose No. If you encounter problems connecting to the Tor network, change this setting.">
-<!ENTITY torSettings.enterFirewall "Enter a comma-separated list of ports that are allowed by the firewall.">
-<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
-<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restart "Restart">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a proxy to access the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
-<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
-<!ENTITY torsettings.useBridges.type "Transport type:">
-<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these three methods:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
-<!ENTITY torsettings.bridgeHelp3 "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from a gmail.com or yahoo.com email address.">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
diff --git a/src/chrome/locale/am-ET/network-settings.dtd b/src/chrome/locale/am-ET/network-settings.dtd
deleted file mode 100644
index a346274..0000000
--- a/src/chrome/locale/am-ET/network-settings.dtd
+++ /dev/null
@@ -1,64 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
-
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
-
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored, filtered, or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge, firewall, or proxy settings.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
-<!ENTITY torSettings.connect "Connect">
-
-<!ENTITY torSettings.proxyQuestion "Does this computer need to use a proxy to access the Internet?">
-<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a proxy.">
-<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
-<!ENTITY torSettings.firewallQuestion "Does this computer's Internet connection go through a firewall that only allows connections to certain ports?">
-<!ENTITY torSettings.firewallHelp "If you are not sure how to answer this question, choose No. If you encounter problems connecting to the Tor network, change this setting.">
-<!ENTITY torSettings.enterFirewall "Enter a comma-separated list of ports that are allowed by the firewall.">
-<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
-<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restart "Restart">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a proxy to access the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
-<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
-<!ENTITY torsettings.useBridges.type "Transport type:">
-<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these three methods:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
-<!ENTITY torsettings.bridgeHelp3 "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from a gmail.com or yahoo.com email address.">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
diff --git a/src/chrome/locale/bg-BG/network-settings.dtd b/src/chrome/locale/bg-BG/network-settings.dtd
deleted file mode 100644
index a346274..0000000
--- a/src/chrome/locale/bg-BG/network-settings.dtd
+++ /dev/null
@@ -1,64 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
-
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
-
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored, filtered, or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge, firewall, or proxy settings.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
-<!ENTITY torSettings.connect "Connect">
-
-<!ENTITY torSettings.proxyQuestion "Does this computer need to use a proxy to access the Internet?">
-<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a proxy.">
-<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
-<!ENTITY torSettings.firewallQuestion "Does this computer's Internet connection go through a firewall that only allows connections to certain ports?">
-<!ENTITY torSettings.firewallHelp "If you are not sure how to answer this question, choose No. If you encounter problems connecting to the Tor network, change this setting.">
-<!ENTITY torSettings.enterFirewall "Enter a comma-separated list of ports that are allowed by the firewall.">
-<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
-<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restart "Restart">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a proxy to access the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
-<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
-<!ENTITY torsettings.useBridges.type "Transport type:">
-<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these three methods:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
-<!ENTITY torsettings.bridgeHelp3 "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from a gmail.com or yahoo.com email address.">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
diff --git a/src/chrome/locale/bn-BD/network-settings.dtd b/src/chrome/locale/bn-BD/network-settings.dtd
deleted file mode 100644
index a346274..0000000
--- a/src/chrome/locale/bn-BD/network-settings.dtd
+++ /dev/null
@@ -1,64 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
-
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
-
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored, filtered, or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge, firewall, or proxy settings.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
-<!ENTITY torSettings.connect "Connect">
-
-<!ENTITY torSettings.proxyQuestion "Does this computer need to use a proxy to access the Internet?">
-<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a proxy.">
-<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
-<!ENTITY torSettings.firewallQuestion "Does this computer's Internet connection go through a firewall that only allows connections to certain ports?">
-<!ENTITY torSettings.firewallHelp "If you are not sure how to answer this question, choose No. If you encounter problems connecting to the Tor network, change this setting.">
-<!ENTITY torSettings.enterFirewall "Enter a comma-separated list of ports that are allowed by the firewall.">
-<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
-<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restart "Restart">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a proxy to access the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
-<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
-<!ENTITY torsettings.useBridges.type "Transport type:">
-<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these three methods:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
-<!ENTITY torsettings.bridgeHelp3 "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from a gmail.com or yahoo.com email address.">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
diff --git a/src/chrome/locale/ca-ES/network-settings.dtd b/src/chrome/locale/ca-ES/network-settings.dtd
deleted file mode 100644
index 3c3433e..0000000
--- a/src/chrome/locale/ca-ES/network-settings.dtd
+++ /dev/null
@@ -1,59 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torsettings.prompt "Before the Tor Browser Bundle tries to connect to the Tor network, you need to provide information about this computer's Internet connection.">
-
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
-
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored, filtered, or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge, firewall, or proxy settings.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
-<!ENTITY torSettings.connect "Connect">
-
-<!ENTITY torSettings.proxyQuestion "Does this computer need to use a proxy to access the Internet?">
-<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a proxy.">
-<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
-<!ENTITY torSettings.firewallQuestion "Does this computer's Internet connection go through a firewall that only allows connections to certain ports?">
-<!ENTITY torSettings.firewallHelp "If you are not sure how to answer this question, choose No. If you encounter problems connecting to the Tor network, change this setting.">
-<!ENTITY torSettings.enterFirewall "Enter a comma-separated list of ports that are allowed by the firewall.">
-<!ENTITY torSettings.bridgeQuestion "If this computer's Internet connection is censored, you will need to obtain and use bridge relays.  If not, just click Connect.">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restart "Restart">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a proxy to access the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.address "Adreça:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "address:port OR transport address:port">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "Here are three ways to obtain bridge addresses:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
-<!ENTITY torsettings.bridgeHelp3 "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from a gmail.com or yahoo.com email address.">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
diff --git a/src/chrome/locale/cs-CZ/network-settings.dtd b/src/chrome/locale/cs-CZ/network-settings.dtd
deleted file mode 100644
index a346274..0000000
--- a/src/chrome/locale/cs-CZ/network-settings.dtd
+++ /dev/null
@@ -1,64 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
-
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
-
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored, filtered, or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge, firewall, or proxy settings.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
-<!ENTITY torSettings.connect "Connect">
-
-<!ENTITY torSettings.proxyQuestion "Does this computer need to use a proxy to access the Internet?">
-<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a proxy.">
-<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
-<!ENTITY torSettings.firewallQuestion "Does this computer's Internet connection go through a firewall that only allows connections to certain ports?">
-<!ENTITY torSettings.firewallHelp "If you are not sure how to answer this question, choose No. If you encounter problems connecting to the Tor network, change this setting.">
-<!ENTITY torSettings.enterFirewall "Enter a comma-separated list of ports that are allowed by the firewall.">
-<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
-<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restart "Restart">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a proxy to access the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
-<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
-<!ENTITY torsettings.useBridges.type "Transport type:">
-<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these three methods:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
-<!ENTITY torsettings.bridgeHelp3 "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from a gmail.com or yahoo.com email address.">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
diff --git a/src/chrome/locale/el-GR/network-settings.dtd b/src/chrome/locale/el-GR/network-settings.dtd
deleted file mode 100644
index a346274..0000000
--- a/src/chrome/locale/el-GR/network-settings.dtd
+++ /dev/null
@@ -1,64 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
-
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
-
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored, filtered, or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge, firewall, or proxy settings.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
-<!ENTITY torSettings.connect "Connect">
-
-<!ENTITY torSettings.proxyQuestion "Does this computer need to use a proxy to access the Internet?">
-<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a proxy.">
-<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
-<!ENTITY torSettings.firewallQuestion "Does this computer's Internet connection go through a firewall that only allows connections to certain ports?">
-<!ENTITY torSettings.firewallHelp "If you are not sure how to answer this question, choose No. If you encounter problems connecting to the Tor network, change this setting.">
-<!ENTITY torSettings.enterFirewall "Enter a comma-separated list of ports that are allowed by the firewall.">
-<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
-<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restart "Restart">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a proxy to access the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
-<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
-<!ENTITY torsettings.useBridges.type "Transport type:">
-<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these three methods:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
-<!ENTITY torsettings.bridgeHelp3 "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from a gmail.com or yahoo.com email address.">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
diff --git a/src/chrome/locale/es-NI/network-settings.dtd b/src/chrome/locale/es-NI/network-settings.dtd
deleted file mode 100644
index a346274..0000000
--- a/src/chrome/locale/es-NI/network-settings.dtd
+++ /dev/null
@@ -1,64 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
-
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
-
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored, filtered, or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge, firewall, or proxy settings.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
-<!ENTITY torSettings.connect "Connect">
-
-<!ENTITY torSettings.proxyQuestion "Does this computer need to use a proxy to access the Internet?">
-<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a proxy.">
-<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
-<!ENTITY torSettings.firewallQuestion "Does this computer's Internet connection go through a firewall that only allows connections to certain ports?">
-<!ENTITY torSettings.firewallHelp "If you are not sure how to answer this question, choose No. If you encounter problems connecting to the Tor network, change this setting.">
-<!ENTITY torSettings.enterFirewall "Enter a comma-separated list of ports that are allowed by the firewall.">
-<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
-<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restart "Restart">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a proxy to access the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
-<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
-<!ENTITY torsettings.useBridges.type "Transport type:">
-<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these three methods:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
-<!ENTITY torsettings.bridgeHelp3 "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from a gmail.com or yahoo.com email address.">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
diff --git a/src/chrome/locale/sq-AL/network-settings.dtd b/src/chrome/locale/sq-AL/network-settings.dtd
deleted file mode 100644
index a346274..0000000
--- a/src/chrome/locale/sq-AL/network-settings.dtd
+++ /dev/null
@@ -1,64 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
-
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
-
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored, filtered, or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge, firewall, or proxy settings.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
-<!ENTITY torSettings.connect "Connect">
-
-<!ENTITY torSettings.proxyQuestion "Does this computer need to use a proxy to access the Internet?">
-<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a proxy.">
-<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
-<!ENTITY torSettings.firewallQuestion "Does this computer's Internet connection go through a firewall that only allows connections to certain ports?">
-<!ENTITY torSettings.firewallHelp "If you are not sure how to answer this question, choose No. If you encounter problems connecting to the Tor network, change this setting.">
-<!ENTITY torSettings.enterFirewall "Enter a comma-separated list of ports that are allowed by the firewall.">
-<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
-<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restart "Restart">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a proxy to access the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
-<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
-<!ENTITY torsettings.useBridges.type "Transport type:">
-<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these three methods:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
-<!ENTITY torsettings.bridgeHelp3 "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from a gmail.com or yahoo.com email address.">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
diff --git a/src/chrome/locale/zh-CN.GB2312/network-settings.dtd b/src/chrome/locale/zh-CN.GB2312/network-settings.dtd
deleted file mode 100644
index 899a543..0000000
--- a/src/chrome/locale/zh-CN.GB2312/network-settings.dtd
+++ /dev/null
@@ -1,59 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torsettings.prompt "Before the Tor Browser Bundle tries to connect to the Tor network, you need to provide information about this computer's Internet connection.">
-
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
-
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored, filtered, or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge, firewall, or proxy settings.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
-<!ENTITY torSettings.connect "Connect">
-
-<!ENTITY torSettings.proxyQuestion "Does this computer need to use a proxy to access the Internet?">
-<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a proxy.">
-<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
-<!ENTITY torSettings.firewallQuestion "Does this computer's Internet connection go through a firewall that only allows connections to certain ports?">
-<!ENTITY torSettings.firewallHelp "If you are not sure how to answer this question, choose No. If you encounter problems connecting to the Tor network, change this setting.">
-<!ENTITY torSettings.enterFirewall "Enter a comma-separated list of ports that are allowed by the firewall.">
-<!ENTITY torSettings.bridgeQuestion "If this computer's Internet connection is censored, you will need to obtain and use bridge relays.  If not, just click Connect.">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restart "Restart">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a proxy to access the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "address:port OR transport address:port">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "Here are three ways to obtain bridge addresses:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
-<!ENTITY torsettings.bridgeHelp3 "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from a gmail.com or yahoo.com email address.">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
diff --git a/src/chrome/locale/zh/network-settings.dtd b/src/chrome/locale/zh/network-settings.dtd
deleted file mode 100644
index 899a543..0000000
--- a/src/chrome/locale/zh/network-settings.dtd
+++ /dev/null
@@ -1,59 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torsettings.prompt "Before the Tor Browser Bundle tries to connect to the Tor network, you need to provide information about this computer's Internet connection.">
-
-<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
-
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored, filtered, or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge, firewall, or proxy settings.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
-<!ENTITY torSettings.connect "Connect">
-
-<!ENTITY torSettings.proxyQuestion "Does this computer need to use a proxy to access the Internet?">
-<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a proxy.">
-<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
-<!ENTITY torSettings.firewallQuestion "Does this computer's Internet connection go through a firewall that only allows connections to certain ports?">
-<!ENTITY torSettings.firewallHelp "If you are not sure how to answer this question, choose No. If you encounter problems connecting to the Tor network, change this setting.">
-<!ENTITY torSettings.enterFirewall "Enter a comma-separated list of ports that are allowed by the firewall.">
-<!ENTITY torSettings.bridgeQuestion "If this computer's Internet connection is censored, you will need to obtain and use bridge relays.  If not, just click Connect.">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restart "Restart">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a proxy to access the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
-<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "address:port OR transport address:port">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
-<!ENTITY torsettings.bridgeHelp1B "Here are three ways to obtain bridge addresses:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
-<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
-<!ENTITY torsettings.bridgeHelp3 "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from a gmail.com or yahoo.com email address.">
-<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
-<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
1
0

[tor-browser-bundle/master] Increase some component versions for 3.6.2.
by mikeperry@torproject.org 23 May '14
by mikeperry@torproject.org 23 May '14
23 May '14
commit b428d32a7f014d53235750ec2a1634c6937fd5ed
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Thu May 22 08:33:46 2014 -0700
Increase some component versions for 3.6.2.
We may also bump torbutton and tor launcher later.
---
gitian/versions | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gitian/versions b/gitian/versions
index a9e033f..6424316 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -1,4 +1,4 @@
-TORBROWSER_VERSION=3.6.1
+TORBROWSER_VERSION=3.6.2pre
BUNDLE_LOCALES="ar de es-ES fa fr it ko nl pl pt-PT ru tr vi zh-CN"
BUILD_PT_BUNDLES=1
@@ -7,10 +7,10 @@ VERIFY_TAGS=1
FIREFOX_VERSION=24.5.0esr
TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-1-build4
-TOR_TAG=tor-0.2.4.21
+TOR_TAG=tor-0.2.4.22
TORLAUNCHER_TAG=0.2.5.4
TORBUTTON_TAG=1.6.9.0
-HTTPSE_TAG=3.4.5
+HTTPSE_TAG=3.4.5 # XXX: HTTPSE_VER is used instead, pending #11630
NSIS_TAG=v0.1
ZLIB_TAG=v1.2.8
LIBEVENT_TAG=release-2.0.21-stable
@@ -18,8 +18,8 @@ MINGW_REV=6184
PYPTLIB_TAG=pyptlib-0.0.6
OBFSPROXY_TAG=obfsproxy-0.2.9
FLASHPROXY_TAG=1.6
-LIBFTE_TAG=19f6b8ffafca2ec8fffbc418bc0f88518cea22ac # tag 0.0.2
-FTEPROXY_TAG=b5d7fba5c505907693fd2b5321f2aa57d4390cfa # tag 0.2.14
+LIBFTE_TAG=ee9e9ddf5c86e6940559a313d2bd22cc33b654c9 # tag 0.0.3
+FTEPROXY_TAG=5e7a9fd498a948d17b0996275ef1b6f743251317 # tag 0.2.15
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
TXSOCKSX_TAG=216eb0894a1755872f4789f9458aa6cf543b8433 # unsigned habnabit/1.13.0.2
1
0

[tor-browser-bundle/master] Bug 9229 was merged in Tor 0.2.4.22. Remove our backport patch.
by mikeperry@torproject.org 23 May '14
by mikeperry@torproject.org 23 May '14
23 May '14
commit cc1cff02f7c8b930bdcf03abc1a3a1cd5800d427
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Thu May 22 09:13:24 2014 -0700
Bug 9229 was merged in Tor 0.2.4.22. Remove our backport patch.
---
gitian/descriptors/linux/gitian-tor.yml | 2 --
gitian/descriptors/mac/gitian-tor.yml | 2 --
gitian/descriptors/windows/gitian-tor.yml | 2 --
gitian/patches/bug9229.patch | 46 -----------------------------
4 files changed, 52 deletions(-)
diff --git a/gitian/descriptors/linux/gitian-tor.yml b/gitian/descriptors/linux/gitian-tor.yml
index 4a8f08e..2b0b9ab 100644
--- a/gitian/descriptors/linux/gitian-tor.yml
+++ b/gitian/descriptors/linux/gitian-tor.yml
@@ -24,7 +24,6 @@ files:
- "versions"
- "bug10297.patch"
- "bug5018.patch"
-- "bug9229.patch"
- "bug11156.patch"
- "bug11200.patch"
- "bug11069.patch"
@@ -75,7 +74,6 @@ script: |
if [ $BUILD_PT_BUNDLES ]; then
if [ ${TOR_TAG::9} == "tor-0.2.4" ];
then
- git am ~/build/bug9229.patch
git am ~/build/bug5018.patch
git am ~/build/bug11069.patch
git am ~/build/bug11156.patch
diff --git a/gitian/descriptors/mac/gitian-tor.yml b/gitian/descriptors/mac/gitian-tor.yml
index 90f56e0..be4edd2 100644
--- a/gitian/descriptors/mac/gitian-tor.yml
+++ b/gitian/descriptors/mac/gitian-tor.yml
@@ -21,7 +21,6 @@ files:
- "versions"
- "bug10297.patch"
- "bug5018.patch"
-- "bug9229.patch"
- "bug11156.patch"
- "bug11200.patch"
- "bug11069.patch"
@@ -70,7 +69,6 @@ script: |
if [ $BUILD_PT_BUNDLES ]; then
if [ ${TOR_TAG::9} == "tor-0.2.4" ];
then
- git am ~/build/bug9229.patch
git am ~/build/bug5018.patch
git am ~/build/bug11069.patch
git am ~/build/bug11156.patch
diff --git a/gitian/descriptors/windows/gitian-tor.yml b/gitian/descriptors/windows/gitian-tor.yml
index 19c4acd..d3f1d4e 100644
--- a/gitian/descriptors/windows/gitian-tor.yml
+++ b/gitian/descriptors/windows/gitian-tor.yml
@@ -22,7 +22,6 @@ files:
- "versions"
- "bug10297.patch"
- "bug5018.patch"
-- "bug9229.patch"
- "bug11156.patch"
- "bug11200.patch"
- "bug11069.patch"
@@ -72,7 +71,6 @@ script: |
if [ $BUILD_PT_BUNDLES ]; then
if [ ${TOR_TAG::9} == "tor-0.2.4" ];
then
- git am ~/build/bug9229.patch
git am ~/build/bug5018.patch
git am ~/build/bug11069.patch
git am ~/build/bug11156.patch
diff --git a/gitian/patches/bug9229.patch b/gitian/patches/bug9229.patch
deleted file mode 100644
index 6b1115c..0000000
--- a/gitian/patches/bug9229.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From db72479eea4b5bbd73d1fa33f4c9e4e4e2b99b04 Mon Sep 17 00:00:00 2001
-From: Nick Mathewson <nickm(a)torproject.org>
-Date: Mon, 10 Mar 2014 15:01:27 -0400
-Subject: [PATCH] Update ns downloads when we receive a bridge descriptor
-
-This prevents long stalls when we're starting with a state file but
-with no bridge descriptors. Fixes bug 9229. I believe this bug has
-been present since 0.2.0.3-alpha.
----
- changes/bug9229 | 5 +++++
- src/or/entrynodes.c | 6 +++++-
- 2 files changed, 10 insertions(+), 1 deletion(-)
- create mode 100644 changes/bug9229
-
-diff --git a/changes/bug9229 b/changes/bug9229
-new file mode 100644
-index 0000000..ad7fd22
---- /dev/null
-+++ b/changes/bug9229
-@@ -0,0 +1,5 @@
-+ o Minor bugfixes:
-+ - Avoid 60-second delays in the bootstrapping process when Tor
-+ is launching for a second time while using bridges. Fixes bug 9229;
-+ bugfix on 0.2.0.3-alpha.
-+
-diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c
-index 2aa063c..59770fa 100644
---- a/src/or/entrynodes.c
-+++ b/src/or/entrynodes.c
-@@ -2115,8 +2115,12 @@ learned_bridge_descriptor(routerinfo_t *ri, int from_cache)
- * our entry node list */
- entry_guard_register_connect_status(ri->cache_info.identity_digest,
- 1, 0, now);
-- if (first)
-+ if (first) {
-+ /* XXXX apparently, this is never called. See bug #9229. */
- routerlist_retry_directory_downloads(now);
-+ }
-+
-+ update_networkstatus_downloads(now);
- }
- }
- }
---
-1.8.1.2
-
1
0

[tor-browser-bundle/master] Add support for scramblesuit, add in default bridge lines.
by mikeperry@torproject.org 23 May '14
by mikeperry@torproject.org 23 May '14
23 May '14
commit ef80bcdfd15ba873de6c7a88382176b893770638
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Thu May 22 08:20:27 2014 -0700
Add support for scramblesuit, add in default bridge lines.
---
Bundle-Data/PTConfigs/bridge_prefs.js | 4 ++++
Bundle-Data/PTConfigs/linux/torrc-defaults-appendix | 2 +-
Bundle-Data/PTConfigs/mac/torrc-defaults-appendix | 2 +-
Bundle-Data/PTConfigs/windows/torrc-defaults-appendix | 2 +-
4 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index f14cf07..8d2afed 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -21,3 +21,7 @@ pref("extensions.torlauncher.default_bridge.fte.2", "fte 128.105.214.162:8080 FC
pref("extensions.torlauncher.default_bridge.fte.3", "fte 128.105.214.163:8080 A17A40775FBD2CA1184BF80BFC330A77ECF9D0E9");
pref("extensions.torlauncher.default_bridge.fte.4", "fte 131.252.210.150:8080 0E858AC201BF0F3FA3C462F64844CBFFC7297A42");
pref("extensions.torlauncher.default_bridge.fte.5", "fte 79.125.3.12:8080 272465348803EE2546A9BB8EE37D462915531F09");
+
+pref("extensions.torlauncher.default_bridge.scramblesuit.1", "scramblesuit 188.40.121.112:39707 5DE8D363D8F150C99E1A2D7237368D614838132C password=L5POGQONBPS2HZUR6GXBIDS4CMIYYOTI");
+pref("extensions.torlauncher.default_bridge.scramblesuit.2", "scramblesuit 188.226.213.208:54278 AA5A86C1490296EF4FACA946CC5A182FCD1C5B1E password=MD2VRP7WXAMSG7MKIGMHI4CB4BMSNO7T");
+pref("extensions.torlauncher.default_bridge.scramblesuit.3", "scramblesuit 83.212.101.3:443 A09D536DD1752D542E1FBB3C9CE4449D51298239 password=XTCXLG2JAMJKZW2POLBAOWOQETQSMASH");
diff --git a/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix b/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
index 87108bd..8327587 100644
--- a/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
+++ b/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
@@ -2,7 +2,7 @@
ClientTransportPlugin fte exec ./Tor/PluggableTransports/fteproxy.bin --managed
## obfsproxy configuration
-ClientTransportPlugin obfs2,obfs3 exec ./Tor/PluggableTransports/obfsproxy.bin managed
+ClientTransportPlugin obfs2,obfs3,scramblesuit exec ./Tor/PluggableTransports/obfsproxy.bin managed
## flash proxy configuration
#
# Change the second number here (9000) to the number of a port that can
diff --git a/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix b/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix
index 7c6e6a5..19fc8e0 100644
--- a/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix
+++ b/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix
@@ -2,7 +2,7 @@
ClientTransportPlugin fte exec PluggableTransports/fteproxy.bin --managed
## obfsproxy configuration
-ClientTransportPlugin obfs2,obfs3 exec PluggableTransports/obfsproxy.bin managed
+ClientTransportPlugin obfs2,obfs3,scramblesuit exec PluggableTransports/obfsproxy.bin managed
## flash proxy configuration
#
diff --git a/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix b/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix
index 049d2ff..bc1399d 100644
--- a/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix
+++ b/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix
@@ -2,7 +2,7 @@
ClientTransportPlugin fte exec Tor\PluggableTransports\fteproxy --managed
## obfsproxy configuration
-ClientTransportPlugin obfs2,obfs3 exec Tor\PluggableTransports\obfsproxy managed
+ClientTransportPlugin obfs2,obfs3,scramblesuit exec Tor\PluggableTransports\obfsproxy managed
## flash proxy configuration
#
1
0

[tor-browser-bundle/master] Update bug11156 patch with fix from #11654.
by mikeperry@torproject.org 23 May '14
by mikeperry@torproject.org 23 May '14
23 May '14
commit fcd3be303a9786574c42635e124d294e7abf77c4
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Thu May 22 08:16:07 2014 -0700
Update bug11156 patch with fix from #11654.
---
gitian/patches/bug11156.patch | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/gitian/patches/bug11156.patch b/gitian/patches/bug11156.patch
index 33dacad..d9f8e7a 100644
--- a/gitian/patches/bug11156.patch
+++ b/gitian/patches/bug11156.patch
@@ -249,3 +249,27 @@ index c2d6545..551b09f 100644
--
1.8.1.2
+From dfcbc4500aad07a641e9e856d442c848d86d2c7e Mon Sep 17 00:00:00 2001
+From: George Kadianakis <desnacked(a)riseup.net>
+Date: Thu, 1 May 2014 17:32:29 +0100
+Subject: [PATCH] fixup! Fix a misuse of strlcpy() introduced by the #11156
+ patch.
+
+---
+ changes/bug11654 | 4 ++++
+ 1 file changed, 4 insertions(+)
+ create mode 100644 changes/bug11654
+
+diff --git a/changes/bug11654 b/changes/bug11654
+new file mode 100644
+index 0000000..97c70b2
+--- /dev/null
++++ b/changes/bug11654
+@@ -0,0 +1,4 @@
++ o Minor bugfixes:
++ - Fix a broken log message about delayed directory fetches that
++ was caused by a misuse of strlcpy(). Fixes bug 11654; bugfix on
++ 0.2.5.3-alpha.
+--
+1.9.1
+
1
0

[tor-browser-bundle/master] Bug 11190: Workaround for broken obfs on OS X.
by gk@torproject.org 22 May '14
by gk@torproject.org 22 May '14
22 May '14
commit 5f671fa272219e1ecaf15d5d22a41c16aec64dae
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu May 22 12:24:25 2014 +0000
Bug 11190: Workaround for broken obfs on OS X.
---
gitian/descriptors/mac/gitian-pluggable-transports.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gitian/descriptors/mac/gitian-pluggable-transports.yml b/gitian/descriptors/mac/gitian-pluggable-transports.yml
index 52dd403..59109a7 100644
--- a/gitian/descriptors/mac/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/mac/gitian-pluggable-transports.yml
@@ -151,6 +151,8 @@ script: |
cp -a bin/obfsproxy $PTDIR/obfsproxy.bin
mkdir -p $INSTDIR/TorBrowserBundle.app/Docs/Obfsproxy
cp -a {LICENSE,README} $INSTDIR/TorBrowserBundle.app/Docs/Obfsproxy
+ # XXX: Workaround for bug 11190
+ sed 's/python2/python/' -i $PTDIR/obfsproxy.bin
cd ..
# Building M2Crypto
1
0

[tor-browser-bundle/master] Bug 10120: Part 4: Refactor PT descriptors.
by gk@torproject.org 22 May '14
by gk@torproject.org 22 May '14
22 May '14
commit 90d598f9dcd0758fd9c72f4b30286982017dd18d
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu May 22 12:06:04 2014 +0000
Bug 10120: Part 4: Refactor PT descriptors.
We build GMP separately and preserve it now as well. Apart from that
we use the already built OpenSSL in the PT descriptors and leave other
requirements for PTs alone: the overhead building them every time is
not that high and they might be changing more often than the other
utilities we preserve.
Additionally, the descriptors got cleaned-up a bit.
---
.../linux/gitian-pluggable-transports.yml | 81 +++++-----
gitian/descriptors/linux/gitian-tor.yml | 11 +-
gitian/descriptors/linux/gitian-utils.yml | 20 ++-
.../mac/gitian-pluggable-transports.yml | 111 +++++++-------
gitian/descriptors/mac/gitian-tor.yml | 1 +
gitian/descriptors/mac/gitian-utils.yml | 13 ++
.../windows/gitian-pluggable-transports.yml | 154 ++++++++++----------
gitian/descriptors/windows/gitian-tor.yml | 8 +-
gitian/descriptors/windows/gitian-utils.yml | 12 +-
gitian/mkbundle-linux.sh | 8 +-
gitian/mkbundle-mac.sh | 5 +-
gitian/mkbundle-windows.sh | 5 +-
12 files changed, 231 insertions(+), 198 deletions(-)
diff --git a/gitian/descriptors/linux/gitian-pluggable-transports.yml b/gitian/descriptors/linux/gitian-pluggable-transports.yml
index eb9ca16..b2d57c0 100644
--- a/gitian/descriptors/linux/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/linux/gitian-pluggable-transports.yml
@@ -5,7 +5,7 @@ suites:
architectures:
- "i386"
- "amd64"
-packages:
+packages:
- "git-core"
- "unzip"
- "zip"
@@ -30,8 +30,6 @@ remotes:
- "url": "https://github.com/habnabit/txsocksx.git"
"dir": "txsocksx"
files:
-- "openssl.tar.gz"
-- "gmp.tar.bz2"
- "pycrypto.tar.gz"
- "argparse.tar.gz"
- "pyyaml.tar.gz"
@@ -40,77 +38,81 @@ files:
- "m2crypto.tar.gz"
- "parsley.tar.gz"
- "dzip.sh"
+- "gmp-linux32-utils.zip"
+- "gmp-linux64-utils.zip"
+- "openssl-linux32-utils.zip"
+- "openssl-linux64-utils.zip"
script: |
INSTDIR="$HOME/install"
PTDIR="$INSTDIR/Tor/PluggableTransports"
- export LIBRARY_PATH="$INSTDIR/lib"
+ mkdir -p $PTDIR
+ mkdir -p $INSTDIR/Debug/
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
export LC_ALL=C
export PYTHON=python2
umask 0022
- #
+
# Config options for hardening-wrapper
export DEB_BUILD_HARDENING=1
export DEB_BUILD_HARDENING_STACKPROTECTOR=1
export DEB_BUILD_HARDENING_FORTIFY=1
export DEB_BUILD_HARDENING_FORMAT=1
export DEB_BUILD_HARDENING_PIE=1
- #
- mkdir -p $PTDIR
- mkdir -p $INSTDIR/Debug/
- #
- tar xvf gmp.tar.bz2
- cd gmp-*
- find -type f | xargs touch --date="$REFERENCE_DATETIME"
- ./configure --prefix=$INSTDIR/gmp --disable-static --enable-shared --enable-cxx
- make
- make install
- cp -an $INSTDIR/gmp/lib/*.so* $INSTDIR/Tor
- cd ..
- #
+
+ unzip -d $INSTDIR gmp-linux$GBUILD_BITS-utils.zip
+ unzip -d $INSTDIR openssl-linux$GBUILD_BITS-utils.zip
+ cp $INSTDIR/gmp/lib/*.so* $INSTDIR/Tor
+
+ # Building pyptlib
cd pyptlib
find -type f | xargs touch --date="$REFERENCE_DATETIME"
$PYTHON setup.py build --build-lib build
cp -a build/pyptlib $PTDIR/
cd ..
- #
+
+ # Building PyCrypto
tar xzf pycrypto.tar.gz
cd pycrypto-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
$PYTHON setup.py build --build-lib build
cp -a build/Crypto $PTDIR/
cd ..
- #
+
+ # Building argparse
tar xzf argparse.tar.gz
cd argparse-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
$PYTHON setup.py build --build-lib build
cp -a build/argparse.py $PTDIR/
cd ..
- #
+
+ # Building Zope interfaces
unzip zope.interface.zip
cd zope.interface-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
$PYTHON setup.py build --build-lib build
cp -a build/zope $PTDIR/
cd ..
- #
+
+ # Building PyYAML
tar xzf pyyaml.tar.gz
cd PyYAML-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
$PYTHON setup.py build --build-lib build
cp -a build/yaml $PTDIR/
cd ..
- #
+
+ # Building Twisted
tar xjf twisted.tar.bz2
cd Twisted-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
$PYTHON setup.py build --build-lib build
cp -a build/twisted $PTDIR/
cd ..
- #
+
+ # Building Parsley
tar xzf parsley.tar.gz
cd Parsley-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
@@ -119,7 +121,8 @@ script: |
cp -a build/ometa $PTDIR/
cp -a build/terml $PTDIR/
cd ..
- #
+
+ # Building txsocksx
cd txsocksx
find -type f | xargs touch --date="$REFERENCE_DATETIME"
# Let's pretend we have the setup dependency already as we don't want to get
@@ -130,7 +133,8 @@ script: |
$PYTHON setup.py build --build-lib build
cp -a build/txsocksx $PTDIR/
cd ..
- #
+
+ # Building obfsproxy
cd obfsproxy
find -type f | xargs touch --date="$REFERENCE_DATETIME"
$PYTHON setup.py build --build-lib build
@@ -139,16 +143,8 @@ script: |
mkdir -p $INSTDIR/Docs/Obfsproxy
cp -a {LICENSE,README} $INSTDIR/Docs/Obfsproxy
cd ..
- #
- tar xzf openssl.tar.gz
- cd openssl-*
- find -type f | xargs touch --date="$REFERENCE_DATETIME"
- #./Configure -shared --prefix=$INSTDIR/openssl linux-elf
- ./config -shared --prefix=$INSTDIR/openssl
- make
- make install
- cd ..
- #
+
+ # Building M2Crypto
tar xzf m2crypto.tar.gz
cd M2Crypto-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
@@ -156,7 +152,8 @@ script: |
$PYTHON setup.py build --build-lib build
cp -a build/M2Crypto $PTDIR/
cd ..
- #
+
+ # Building flashproxy
cd flashproxy
find -type f | xargs touch --date="$REFERENCE_DATETIME"
make dist DISTNAME=flashproxy-client
@@ -164,7 +161,8 @@ script: |
mkdir -p $INSTDIR/Docs/FlashProxy
cp -a {doc/*,README,LICENSE,ChangeLog} $INSTDIR/Docs/FlashProxy
cd ..
- #
+
+ # Building libfte
cd libfte
ln -s $INSTDIR/gmp thirdparty/gmp
find -type f | xargs touch --date="$REFERENCE_DATETIME"
@@ -174,7 +172,8 @@ script: |
cp -a {LICENSE,README.md} $INSTDIR/Docs/libfte
cp -a thirdparty/re2/LICENSE $INSTDIR/Docs/libfte/LICENSE.re2
cd ..
- #
+
+ # Building fteproxy
cd fteproxy
find -type f | xargs touch --date="$REFERENCE_DATETIME"
cp -a bin/fteproxy $PTDIR/fteproxy.bin
@@ -182,9 +181,9 @@ script: |
mkdir -p $INSTDIR/Docs/fteproxy
cp -a {COPYING,README.md} $INSTDIR/Docs/fteproxy
cd ..
- #
+
+ # Grabbing the results
cd $INSTDIR
- #
~/build/dzip.sh pluggable-transports-linux$GBUILD_BITS-gbuilt.zip Tor/ Docs/
~/build/dzip.sh pluggable-transports-linux$GBUILD_BITS-debug.zip Debug/
cp pluggable-transports-linux$GBUILD_BITS-gbuilt.zip $OUTDIR/
diff --git a/gitian/descriptors/linux/gitian-tor.yml b/gitian/descriptors/linux/gitian-tor.yml
index 44c2b1f..4a8f08e 100644
--- a/gitian/descriptors/linux/gitian-tor.yml
+++ b/gitian/descriptors/linux/gitian-tor.yml
@@ -44,14 +44,14 @@ script: |
export TZ=UTC
export LC_ALL=C
umask 0022
- #
+
# Config options for hardening-wrapper
export DEB_BUILD_HARDENING=1
export DEB_BUILD_HARDENING_STACKPROTECTOR=1
export DEB_BUILD_HARDENING_FORTIFY=1
export DEB_BUILD_HARDENING_FORMAT=1
export DEB_BUILD_HARDENING_PIE=1
- #
+
mkdir -p $INSTDIR/Data/Tor/
mkdir -p $INSTDIR/Tor/
mkdir -p $INSTDIR/Debug/Tor/
@@ -60,9 +60,9 @@ script: |
cp $INSTDIR/openssl/lib/libssl.so.1.0.0 $INSTDIR/Tor/
cp $INSTDIR/openssl/lib/libcrypto.so.1.0.0 $INSTDIR/Tor/
cp $INSTDIR/libevent/lib/libevent-2.0.so.5 $INSTDIR/Tor/
- #
chmod 700 $INSTDIR/Tor/*so*
- #
+
+ # Building tor
cd tor
git update-index --refresh -q
export GIT_COMMITTER_NAME="nobody"
@@ -106,7 +106,8 @@ script: |
strip $INSTDIR/Tor/$LIB
objcopy --add-gnu-debuglink=./Debug/Tor/$LIB $INSTDIR/Tor/$LIB
done
- #
+
+ # Grabbing the results
~/build/dzip.sh tor-linux$GBUILD_BITS-gbuilt.zip Data/ Tor/
~/build/dzip.sh tor-linux$GBUILD_BITS-debug.zip Debug/
cp tor-linux$GBUILD_BITS-gbuilt.zip $OUTDIR/
diff --git a/gitian/descriptors/linux/gitian-utils.yml b/gitian/descriptors/linux/gitian-utils.yml
index 9bbae76..34b1672 100644
--- a/gitian/descriptors/linux/gitian-utils.yml
+++ b/gitian/descriptors/linux/gitian-utils.yml
@@ -25,11 +25,12 @@ remotes:
- "url": "https://github.com/libevent/libevent.git"
"dir": "libevent"
files:
-- "versions"
-- "dzip.sh"
- "openssl.tar.gz"
- "python.tar.bz2"
- "lxml.tar.gz"
+- "gmp.tar.bz2"
+- "versions"
+- "dzip.sh"
script: |
INSTDIR="$HOME/install"
source versions
@@ -38,7 +39,7 @@ script: |
export TZ=UTC
export LC_ALL=C
umask 0022
- #
+
# Config options for hardening-wrapper
export DEB_BUILD_HARDENING=1
export DEB_BUILD_HARDENING_STACKPROTECTOR=1
@@ -80,7 +81,7 @@ script: |
make $MAKEOPTS altinstall prefix=$INSTDIR/python exec-prefix=$INSTDIR/python
cd ..
- # Building the Python lxml module
+ # Building lxml
tar xzf lxml.tar.gz
cd lxml-*
# Make sure we use our freshly built python binary here. Otherwise bad things
@@ -92,10 +93,19 @@ script: |
cp *utils.zip $OUTDIR
cd ../../../
+ # Building GMP
+ tar xjf gmp.tar.bz2
+ cd gmp-*
+ find -type f | xargs touch --date="$REFERENCE_DATETIME"
+ ./configure --prefix=$INSTDIR/gmp --disable-static --enable-shared --enable-cxx
+ make
+ make install
+ cd ..
+
# Grabbing the remaining results
cd $INSTDIR
~/build/dzip.sh openssl-$OPENSSL_VER-linux$GBUILD_BITS-utils.zip openssl
~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-linux$GBUILD_BITS-utils.zip libevent
~/build/dzip.sh python-$PYTHON_VER-linux$GBUILD_BITS-utils.zip python
-
+ ~/build/dzip.sh gmp-$GMP_VER-linux$GBUILD_BITS-utils.zip gmp
cp *utils.zip $OUTDIR/
diff --git a/gitian/descriptors/mac/gitian-pluggable-transports.yml b/gitian/descriptors/mac/gitian-pluggable-transports.yml
index 48521d8..52dd403 100644
--- a/gitian/descriptors/mac/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/mac/gitian-pluggable-transports.yml
@@ -4,7 +4,7 @@ suites:
- "precise"
architectures:
- "i386"
-packages:
+packages:
- "git-core"
- "unzip"
- "zip"
@@ -14,7 +14,6 @@ packages:
- "python-dev"
- "faketime"
- "libtool"
-#- "libssl0.9.8"
reference_datetime: "2000-01-01 00:00:00"
remotes:
- "url": "https://git.torproject.org/pluggable-transports/pyptlib.git"
@@ -30,8 +29,6 @@ remotes:
- "url": "https://github.com/habnabit/txsocksx.git"
"dir": "txsocksx"
files:
-- "openssl.tar.gz"
-- "gmp.tar.bz2"
- "pycrypto.tar.gz"
- "argparse.tar.gz"
- "pyyaml.tar.gz"
@@ -42,56 +39,45 @@ files:
- "apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb"
- "multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz"
- "dzip.sh"
-#- "apple-x86-gcc_4.2.1~5646.1flosoft2_i386.deb"
-#- "apple-x86-odcctools_758.159-0flosoft11_i386.deb"
+- "gmp-mac32-utils.zip"
+- "openssl-mac32-utils.zip"
script: |
INSTDIR="$HOME/install"
PTDIR="$INSTDIR/TorBrowserBundle.app/Tor/PluggableTransports"
- export LIBRARY_PATH="$INSTDIR/lib"
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
export LC_ALL=C
umask 0022
#
- #export CFLAGS="-isysroot /usr/lib/apple/SDKs/MacOSX10.6.sdk/"
- #export CXXFLAGS=$CFLAGS
- #export LDFLAGS=$CFLAGS
- export PATH="$PATH:/usr/apple-osx/bin/"
- export AR=/usr/apple-osx/bin/i686-apple-darwin11-ar
- export CC=/usr/apple-osx/bin/i686-apple-darwin11-gcc
- export CXX=/usr/apple-osx/bin/i686-apple-darwin11-g++
- # http://bugs.python.org/issue9437
- export LDSHARED="$CC -pthread -shared"
- export CFLAGS="-I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -F/usr/lib/apple/SDKs/MacOSX10.6.sdk/System/Library/Frameworks -mmacosx-version-min=10.5 -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/i686-apple-darwin10/4.2.1 -I$INSTDIR/gmp/include -L$INSTDIR/gmp/lib"
- export CXXFLAGS="-I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -F/usr/lib/apple/SDKs/MacOSX10.6.sdk/System/Library/Frameworks -mmacosx-version-min=10.5 -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/i686-apple-darwin10/4.2.1 -I$INSTDIR/gmp/include -L$INSTDIR/gmp/lib"
- export LDFLAGS="-L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -F/usr/lib/apple/SDKs/MacOSX10.6.sdk/System/Library/Frameworks -mmacosx-version-min=10.5"
- #
mkdir -p $PTDIR/
mkdir -p $OUTDIR/
#
sudo dpkg -i *.deb
- cd /usr
- sudo tar -Jxvf /home/ubuntu/build/multiarch-darwin*tar.xz
- cd ~/build
- # For OpenSSL
- sudo ln -s /usr/apple-osx/bin/apple-osx-gcc /usr/apple-osx/bin/i686-apple-darwin11-cc
- #
- tar xvf gmp.tar.bz2
- cd gmp-*
- find -type f | xargs touch --date="$REFERENCE_DATETIME"
- ./configure --host=i686-apple-darwin11 --prefix=$INSTDIR/gmp --disable-static --enable-shared --enable-cxx
- make
- make install
+ tar xaf multiarch-darwin*tar.xz
+ export PATH="$PATH:$HOME/build/apple-osx/bin/"
+ unzip -d $INSTDIR gmp-mac32-utils.zip
+ unzip -d $INSTDIR openssl-mac32-utils.zip
cp $INSTDIR/gmp/lib/*dylib* $INSTDIR/TorBrowserBundle.app/Tor/
- cd ..
#
+ export AR=$HOME/build/apple-osx/bin/i686-apple-darwin11-ar
+ export CC=$HOME/build/apple-osx/bin/i686-apple-darwin11-gcc
+ export CXX=$HOME/build/apple-osx/bin/i686-apple-darwin11-g++
+ # http://bugs.python.org/issue9437
+ export LDSHARED="$CC -pthread -shared"
+ # XXX Clean up these flags?
+ export CFLAGS="-I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -F/usr/lib/apple/SDKs/MacOSX10.6.sdk/System/Library/Frameworks -mmacosx-version-min=10.5 -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/i686-apple-darwin10/4.2.1 -I$INSTDIR/gmp/include -L$INSTDIR/gmp/lib"
+ export CXXFLAGS="-I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -F/usr/lib/apple/SDKs/MacOSX10.6.sdk/System/Library/Frameworks -mmacosx-version-min=10.5 -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/i686-apple-darwin10/4.2.1 -I$INSTDIR/gmp/include -L$INSTDIR/gmp/lib"
+ export LDFLAGS="-L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -F/usr/lib/apple/SDKs/MacOSX10.6.sdk/System/Library/Frameworks -mmacosx-version-min=10.5"
+
+ # Building pyptlib
cd pyptlib
find -type f | xargs touch --date="$REFERENCE_DATETIME"
python setup.py build --build-lib build
cp -a build/pyptlib $PTDIR/
cd ..
- #
+
+ # Building PyCrypto
tar xzf pycrypto.tar.gz
cd pycrypto-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
@@ -101,28 +87,32 @@ script: |
python setup.py build --build-lib build
cp -a build/Crypto $PTDIR/
cd ..
- #
+
+ # Building argparse
tar xzf argparse.tar.gz
cd argparse-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
python setup.py build --build-lib build
cp -a build/argparse.py $PTDIR/
cd ..
- #
- tar xzf pyyaml.tar.gz
- cd PyYAML-*
- find -type f | xargs touch --date="$REFERENCE_DATETIME"
- python setup.py build --build-lib build
- cp -a build/yaml $PTDIR/
- cd ..
- #
+
+ # Building Zope interfaces
unzip zope.interface.zip
cd zope.interface-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
python setup.py build --build-lib build
cp -a build/zope $PTDIR/
cd ..
- #
+
+ # Building PyYAML
+ tar xzf pyyaml.tar.gz
+ cd PyYAML-*
+ find -type f | xargs touch --date="$REFERENCE_DATETIME"
+ python setup.py build --build-lib build
+ cp -a build/yaml $PTDIR/
+ cd ..
+
+ # Building Twisted
tar xjf twisted.tar.bz2
cd Twisted-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
@@ -130,7 +120,8 @@ script: |
python setup.py build --build-lib build
cp -a build/twisted $PTDIR/
cd ..
- #
+
+ # Building Parsley
tar xzf parsley.tar.gz
cd Parsley-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
@@ -139,7 +130,8 @@ script: |
cp -a build/ometa $PTDIR/
cp -a build/terml $PTDIR/
cd ..
- #
+
+ # Building txsocksx
cd txsocksx
find -type f | xargs touch --date="$REFERENCE_DATETIME"
# Let's pretend we have the setup dependency already as we don't want to get
@@ -150,7 +142,8 @@ script: |
python setup.py build --build-lib build
cp -a build/txsocksx $PTDIR/
cd ..
- #
+
+ # Building obfsproxy
cd obfsproxy
find -type f | xargs touch --date="$REFERENCE_DATETIME"
python setup.py build --build-lib build
@@ -159,16 +152,8 @@ script: |
mkdir -p $INSTDIR/TorBrowserBundle.app/Docs/Obfsproxy
cp -a {LICENSE,README} $INSTDIR/TorBrowserBundle.app/Docs/Obfsproxy
cd ..
- #
- tar xzf openssl.tar.gz
- cd openssl-*
- find -type f | xargs touch --date="$REFERENCE_DATETIME"
- CC=cc ./Configure --cross-compile-prefix=i686-apple-darwin11- $CFLAGS darwin-i386-cc --prefix=$INSTDIR/openssl
- make # SHARED_LDFLAGS="-shared -dynamiclib -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/"
- make install
- #cp $INSTDIR/openssl/lib/*.dylib $INSTDIR/TorBrowserBundle.app/Tor/
- cd ..
- #
+
+ # Building M2Crypto
tar xzf m2crypto.tar.gz
cd M2Crypto-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
@@ -182,7 +167,8 @@ script: |
python setup.py build --build-lib build
cp -a build/M2Crypto $PTDIR/
cd ..
- #
+
+ # Building flashproxy
cd flashproxy
find -type f | xargs touch --date="$REFERENCE_DATETIME"
make dist DISTNAME=flashproxy-client
@@ -190,7 +176,8 @@ script: |
mkdir -p $INSTDIR/TorBrowserBundle.app/Docs/FlashProxy
cp -a {doc/*,README,LICENSE,ChangeLog} $INSTDIR/TorBrowserBundle.app/Docs/FlashProxy
cd ..
- #
+
+ # Building libfte
cd libfte
find -type f | xargs touch --date="$REFERENCE_DATETIME"
CFLAGS="-L$INSTDIR/Tor -I$INSTDIR/gmp/include $CFLAGS" CXXFLAGS="-L$INSTDIR/Tor -I$INSTDIR/gmp/include $CXXFLAGS" make
@@ -199,7 +186,8 @@ script: |
cp -a {LICENSE,README.md} $INSTDIR/TorBrowserBundle.app/Docs/libfte
cp -an thirdparty/re2/LICENSE $INSTDIR/TorBrowserBundle.app/Docs/libfte/LICENSE.re2
cd ..
- #
+
+ # Building fteproxy
cd fteproxy
find -type f | xargs touch --date="$REFERENCE_DATETIME"
cp -a bin/fteproxy $PTDIR/fteproxy.bin
@@ -207,7 +195,8 @@ script: |
mkdir -p $INSTDIR/TorBrowserBundle.app/Docs/fteproxy
cp -a {COPYING,README.md} $INSTDIR/TorBrowserBundle.app/Docs/fteproxy
cd ..
- #
+
+ # Grabbing the result
cd $INSTDIR
~/build/dzip.sh pluggable-transports-mac$GBUILD_BITS-gbuilt.zip TorBrowserBundle.app
cp pluggable-transports-mac$GBUILD_BITS-gbuilt.zip $OUTDIR/
diff --git a/gitian/descriptors/mac/gitian-tor.yml b/gitian/descriptors/mac/gitian-tor.yml
index b8a761b..90f56e0 100644
--- a/gitian/descriptors/mac/gitian-tor.yml
+++ b/gitian/descriptors/mac/gitian-tor.yml
@@ -55,6 +55,7 @@ script: |
cp $INSTDIR/libevent/lib/libevent-*.dylib $INSTDIR/TorBrowserBundle.app/Tor/
LIBEVENT_FILE=`basename $INSTDIR/libevent/lib/libevent-*.dylib`
#
+ # XXX Clean up these flags?
export CFLAGS="-I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
export LDFLAGS="-L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
cd tor
diff --git a/gitian/descriptors/mac/gitian-utils.yml b/gitian/descriptors/mac/gitian-utils.yml
index 1caf8f0..3c6e4a7 100644
--- a/gitian/descriptors/mac/gitian-utils.yml
+++ b/gitian/descriptors/mac/gitian-utils.yml
@@ -21,6 +21,7 @@ files:
- "apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb"
- "multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz"
- "openssl.tar.gz"
+- "gmp.tar.bz2"
- "versions"
- "dzip.sh"
script: |
@@ -38,7 +39,9 @@ script: |
# For OpenSSL
ln -s ~/build/apple-osx/bin/apple-osx-gcc ~/build/apple-osx/bin/i686-apple-darwin11-cc
+ # XXX Clean up these flags?
export CFLAGS="-I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
+ export CXXFLAGS="-I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/i686-apple-darwin10/4.2.1 -mmacosx-version-min=10.5"
export LDFLAGS="-L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
# Building Libevent
@@ -62,9 +65,19 @@ script: |
make install
cd ..
+ # Building GMP
+ tar xjf gmp.tar.bz2
+ cd gmp-*
+ find -type f | xargs touch --date="$REFERENCE_DATETIME"
+ ./configure --host=i686-apple-darwin11 --prefix=$INSTDIR/gmp --disable-static --enable-shared --enable-cxx
+ make
+ make install
+ cd ..
+
# Grabbing the results
cd $INSTDIR
~/build/dzip.sh openssl-$OPENSSL_VER-mac32-utils.zip openssl
~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-mac32-utils.zip libevent
+ ~/build/dzip.sh gmp-$GMP_VER-mac32-utils.zip gmp
cp *utils.zip $OUTDIR/
diff --git a/gitian/descriptors/windows/gitian-pluggable-transports.yml b/gitian/descriptors/windows/gitian-pluggable-transports.yml
index 1637b23..6af344c 100644
--- a/gitian/descriptors/windows/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/windows/gitian-pluggable-transports.yml
@@ -31,8 +31,6 @@ remotes:
- "url": "https://github.com/habnabit/txsocksx.git"
"dir": "txsocksx"
files:
-- "openssl.tar.gz"
-- "gmp.tar.bz2"
- "setuptools.tar.gz"
- "pycrypto.tar.gz"
- "argparse.tar.gz"
@@ -47,16 +45,38 @@ files:
- "py2exe.exe"
- "dzip.sh"
- "pyc-timestamp.sh"
+- "openssl-win32-utils.zip"
+- "gmp-win32-utils.zip"
script: |
+ # Set the timestamp on every .pyc file in a zip file, and re-dzip the zip file.
+ function py2exe_zip_timestomp {
+ ZIPFILE="$1"
+ local tmpdir="$(mktemp -d)"
+ local tmpzip="$(mktemp -u)"
+ unzip -d "$tmpdir" "$ZIPFILE"
+ cd "$tmpdir"
+ find . -name '*.pyc' -print0 | xargs -0 ~/build/pyc-timestamp.sh "$REFERENCE_DATETIME"
+ ~/build/dzip.sh "$tmpzip" .
+ cd -
+ mv -f "$tmpzip" "$ZIPFILE"
+ rm -rf "$tmpdir"
+ }
+
INSTDIR="$HOME/install"
PTDIR="$INSTDIR/Tor/PluggableTransports"
- export LIBRARY_PATH="$INSTDIR/lib"
+ mkdir -p $INSTDIR/bin/
+ mkdir -p $PTDIR/
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
export LC_ALL=C
export CFLAGS="-mwindows"
export LDFLAGS="-mwindows"
+ umask 0022
+
+ unzip -d $INSTDIR gmp-win32-utils.zip
+ unzip -d $INSTDIR openssl-win32-utils.zip
+ cp $INSTDIR/gmp/bin/*dll* $INSTDIR/Tor
# We need at least Wine 1.5.29 which is not in Ubuntu's main repository (see
# below). Thus, we resort to a PPA and need therefore to determine the correct
@@ -69,47 +89,13 @@ script: |
# KVM
MIRROR_HOST=10.0.2.2
fi
-
+ # Install a Wine new enough to have a fix for
+ # http://bugs.winehq.org/show_bug.cgi?id=29764; otherwise Python run under
+ # Wine constantly crashes in _PyVerify_fd, which is called by such common
+ # operations as io.open and os.fstat (anything involving a file descriptor
+ # number). Ubuntu's main repository only has wine1.4, and the issue was fixed
+ # in 1.5.29.
WINEROOT=$HOME/.wine/drive_c
- # XXX: Hardening options cause the exe's to crash.. not sure why
- #export CFLAGS="-mwindows -fstack-protector-all -fPIE -Wstack-protector --param ssp-buffer-size=4 -fno-strict-overflow -Wno-missing-field-initializers -Wformat-security"
- #export LDFLAGS="-mwindows -Wl,--dynamicbase -Wl,--nxcompat -lssp -L/usr/lib/gcc/i686-w64-mingw32/4.6/"
- umask 0022
- #
- mkdir -p $INSTDIR/bin/
- mkdir -p $PTDIR/
- mkdir -p $OUTDIR/
- #
- # Set the timestamp on every .pyc file in a zip file, and re-dzip the zip file.
- function py2exe_zip_timestomp {
- ZIPFILE="$1"
- local tmpdir="$(mktemp -d)"
- local tmpzip="$(mktemp -u)"
- unzip -d "$tmpdir" "$ZIPFILE"
- cd "$tmpdir"
- find . -name '*.pyc' -print0 | xargs -0 ~/build/pyc-timestamp.sh "$REFERENCE_DATETIME"
- ~/build/dzip.sh "$tmpzip" .
- cd -
- mv -f "$tmpzip" "$ZIPFILE"
- rm -rf "$tmpdir"
- }
- #
- #
- tar xvf gmp.tar.bz2
- cd gmp-*
- find -type f | xargs touch --date="$REFERENCE_DATETIME"
- ./configure --prefix=$INSTDIR/gmp --host=i686-w64-mingw32 --enable-cxx --disable-static --enable-shared
- make
- make install
- cp -an $INSTDIR/gmp/bin/*dll* $INSTDIR/Tor
- cd ..
- #
- #
- # Install a Wine new enough to have a fix for http://bugs.winehq.org/show_bug.cgi?id=29764;
- # otherwise Python run under Wine constantly crashes in _PyVerify_fd, which is
- # called by such common operations as io.open and os.fstat (anything involving
- # a file descriptor number). Ubuntu's main repository only has wine1.4, and
- # the issue was fixed in 1.5.29.
sudo -s sh -c "echo deb http://$MIRROR_HOST:3142/ppa.launchpad.net/ubuntu-wine/ppa/ubuntu precise main >> /etc/apt/sources.list"
# This key is from https://launchpad.net/~ubuntu-wine/+archive/ppa and
# http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x5A9A06AEF9CB8D….
@@ -140,40 +126,40 @@ script: |
LD_PRELOAD= $INSTPYTHON setup.py py2exe
cp -a dist/gcc.exe dist/g++.exe dist/dllwrap.exe dist/swig.exe $WINEROOT/windows/
cd ..
- #
+
+ # Building setuptools
tar xzf setuptools.tar.gz
cd setuptools-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
LD_PRELOAD= $INSTPYTHON setup.py install
cd ..
- #
+
+ # Bulding pyptlib
cd pyptlib
find -type f | xargs touch --date="$REFERENCE_DATETIME"
LD_PRELOAD= $INSTPYTHON setup.py install --single-version-externally-managed --record /dev/null
cd ..
- #
+
+ # Building PyCrypto
tar xzf pycrypto.tar.gz
cd pycrypto-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
- # This is bogus, that we run the configure script in the build environment, but it seems to work.
- # https://bugs.launchpad.net/pycrypto/+bug/1096207 for ac_cv_func_malloc_0_nonnull.
+ # This is bogus, that we run the configure script in the build environment,
+ # but it seems to work. https://bugs.launchpad.net/pycrypto/+bug/1096207 for
+ # ac_cv_func_malloc_0_nonnull.
ac_cv_func_malloc_0_nonnull=yes sh configure --host=i686-w64-mingw32
LD_PRELOAD= $INSTPYTHON setup.py build_ext -c mingw32
LD_PRELOAD= $INSTPYTHON setup.py install
cd ..
- #
+
+ # Building argparse
tar xzf argparse.tar.gz
cd argparse-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
LD_PRELOAD= $INSTPYTHON setup.py install
cd ..
- #
- tar xzf pyyaml.tar.gz
- cd PyYAML-*
- find -type f | xargs touch --date="$REFERENCE_DATETIME"
- LD_PRELOAD= $INSTPYTHON setup.py install
- cd ..
- #
+
+ # Building Zope interfaces
unzip zope.interface.zip
cd zope.interface-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
@@ -182,11 +168,20 @@ script: |
# Must create this file in order for py2exe to find the package.
touch $INSTDIR/python/Lib/site-packages/zope/__init__.py
cd ..
- #
+
+ # Building PyYAML
+ tar xzf pyyaml.tar.gz
+ cd PyYAML-*
+ find -type f | xargs touch --date="$REFERENCE_DATETIME"
+ LD_PRELOAD= $INSTPYTHON setup.py install
+ cd ..
+
+ # Building Twisted
tar xjf twisted.tar.bz2
cd Twisted-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
- # twisted/internet/iocpreactor/iocpsupport/iocpsupport.c includes "python.h" rather than "Python.h".
+ # twisted/internet/iocpreactor/iocpsupport/iocpsupport.c includes "python.h"
+ # rather than "Python.h".
ln -sf Python.h $INSTDIR/python/include/python.h
# We need to set the "mingw32" compiler to avoid an error in build_ext, but
# Twisted's "install" command calls build_ext unconditionally, whether the
@@ -196,13 +191,18 @@ script: |
echo $'[build_ext]\ncompiler=mingw32' > setup.cfg
LD_PRELOAD= $INSTPYTHON setup.py install --single-version-externally-managed --record /dev/null
cd ..
- #
+ # py2exe byte-compiles to .pyc files, which embed the mtime of the parent .py
+ # file.
+ find $INSTDIR/python -type f | xargs touch --date="$REFERENCE_DATETIME"
+
+ # Building Parsley
tar xzf parsley.tar.gz
cd Parsley-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
LD_PRELOAD= $INSTPYTHON setup.py install
cd ..
- #
+
+ # Building txsocksx
cd txsocksx
find -type f | xargs touch --date="$REFERENCE_DATETIME"
# Let's pretend we have the setup dependency already as we don't want to get
@@ -212,10 +212,8 @@ script: |
mkdir vcversioner-1.14.1.1-py2.7.egg
LD_PRELOAD= $INSTPYTHON setup.py install
cd ..
- #
- # py2exe byte-compiles to .pyc files, which embed the mtime of the parent .py file.
- find $INSTDIR/python -type f | xargs touch --date="$REFERENCE_DATETIME"
- #
+
+ # Building obfsproxy
cd obfsproxy
find -type f | xargs touch --date="$REFERENCE_DATETIME"
LD_PRELOAD= $INSTPYTHON setup_py2exe.py py2exe
@@ -225,24 +223,19 @@ script: |
mkdir -p $INSTDIR/Docs/Obfsproxy
cp {LICENSE,README} $INSTDIR/Docs/Obfsproxy
cd ..
- #
- tar xzf openssl.tar.gz
- cd openssl-*
- find -type f | xargs touch --date="$REFERENCE_DATETIME"
- ./Configure -shared --cross-compile-prefix=i686-w64-mingw32- mingw --prefix=$INSTDIR/openssl
- make
- make install
- cd ..
- #
+
+ # Building M2Crypto
tar xzf m2crypto.tar.gz
cd M2Crypto-*
find -type f | xargs touch --date="$REFERENCE_DATETIME"
LD_PRELOAD= $INSTPYTHON setup.py build_ext -c mingw32 --openssl $INSTDIR/openssl/ -lssl.dll,crypto.dll
LD_PRELOAD= $INSTPYTHON setup.py install --single-version-externally-managed --record /dev/null
cd ..
- #
+ # py2exe byte-compiles to .pyc files, which embed the mtime of the parent .py
+ # file.
find $INSTDIR/python -type f | xargs touch --date="$REFERENCE_DATETIME"
- #
+
+ # Building flashproxy
cd flashproxy
find -type f | xargs touch --date="$REFERENCE_DATETIME"
make dist-exe DISTNAME=flashproxy-client PYTHON="LD_PRELOAD= $INSTPYTHON"
@@ -251,7 +244,8 @@ script: |
mkdir -p $INSTDIR/Docs/FlashProxy
cp dist/flashproxy-client-win32/{doc/*,README,LICENSE,ChangeLog} $INSTDIR/Docs/FlashProxy
cd ..
- #
+
+ # Building libfte
cd libfte
ln -s $INSTDIR/gmp thirdparty/gmp
cp -a $INSTDIR/gmp/bin/libgmp-*.dll .
@@ -262,7 +256,8 @@ script: |
cp -an {LICENSE,README.md} $INSTDIR/Docs/libfte
cp -an thirdparty/re2/LICENSE $INSTDIR/Docs/libfte/LICENSE.re2
cd ..
- #
+
+ # Building fteproxy
cd fteproxy
find -type f | xargs touch --date="$REFERENCE_DATETIME"
LD_PRELOAD= $INSTPYTHON setup_tbb.py py2exe
@@ -275,10 +270,11 @@ script: |
mkdir -p $INSTDIR/Docs/fteproxy
cp -an {COPYING,README.md} $INSTDIR/Docs/fteproxy
cd ..
- #
+
# http://bugs.winehq.org/show_bug.cgi?id=3591
cp -a $INSTDIR/python/python27.dll $PTDIR/
- #
+
+ # Grabbing the result
cd $INSTDIR
~/build/dzip.sh pluggable-transports-win32-gbuilt.zip Tor/ Docs/
cp pluggable-transports-win32-gbuilt.zip $OUTDIR/
diff --git a/gitian/descriptors/windows/gitian-tor.yml b/gitian/descriptors/windows/gitian-tor.yml
index abfd8bb..19c4acd 100644
--- a/gitian/descriptors/windows/gitian-tor.yml
+++ b/gitian/descriptors/windows/gitian-tor.yml
@@ -43,7 +43,7 @@ script: |
export TZ=UTC
export LC_ALL=C
umask 0022
- #
+
mkdir -p $INSTDIR/bin/
mkdir -p $INSTDIR/Tor/
mkdir -p $INSTDIR/Data/Tor/
@@ -58,7 +58,8 @@ script: |
# See the we-need-only-the-binutils-comment in gitian-utils.yml for the
# reasoning behind the "mingw-w64" dir instead of an expected "binutils" one.
export PATH=$INSTDIR/mingw-w64/bin:$PATH
- #
+
+ # Building tor
cd tor
git update-index --refresh -q
export GIT_COMMITTER_NAME="nobody"
@@ -98,7 +99,8 @@ script: |
# XXX: Geoip files..
cp -a /usr/lib/gcc/i686-w64-mingw32/4.6/libgcc_s_sjlj-1.dll $INSTDIR/Tor/
cp -a /usr/lib/gcc/i686-w64-mingw32/4.6/libssp*.dll $INSTDIR/Tor/
- #
+
+ # Grabbing the result
cd $INSTDIR
~/build/dzip.sh tor-win32-gbuilt.zip Tor/ Data/
cp tor-win32-gbuilt.zip $OUTDIR/
diff --git a/gitian/descriptors/windows/gitian-utils.yml b/gitian/descriptors/windows/gitian-utils.yml
index 4e321a0..530e716 100644
--- a/gitian/descriptors/windows/gitian-utils.yml
+++ b/gitian/descriptors/windows/gitian-utils.yml
@@ -30,6 +30,7 @@ files:
- "binutils.tar.bz2"
- "gcc.tar.bz2"
- "openssl.tar.gz"
+- "gmp.tar.bz2"
- "versions"
- "dzip.sh"
script: |
@@ -135,11 +136,20 @@ script: |
make install
cd ..
+ # Building GMP
+ tar xjf gmp.tar.bz2
+ cd gmp-*
+ find -type f | xargs touch --date="$REFERENCE_DATETIME"
+ ./configure --prefix=$INSTDIR/gmp --host=i686-w64-mingw32 --enable-cxx --disable-static --enable-shared
+ make
+ make install
+ cd ..
+
# Grabbing the remaining results
cd $INSTDIR
~/build/dzip.sh mingw-w64-$GCC_VER-win32-utils.zip mingw-w64
~/build/dzip.sh zlib-${ZLIB_TAG#v}-win32-utils.zip zlib
~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-win32-utils.zip libevent
~/build/dzip.sh openssl-$OPENSSL_VER-win32-utils.zip openssl
-
+ ~/build/dzip.sh gmp-$GMP_VER-win32-utils.zip gmp
cp *-utils.zip $OUTDIR/
diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh
index 992a23a..330e475 100755
--- a/gitian/mkbundle-linux.sh
+++ b/gitian/mkbundle-linux.sh
@@ -105,7 +105,9 @@ if [ ! -f inputs/openssl-$OPENSSL_VER-linux32-utils.zip -o \
! -f inputs/python-$PYTHON_VER-linux32-utils.zip -o \
! -f inputs/python-$PYTHON_VER-linux64-utils.zip -o \
! -f inputs/lxml-$LXML_VER-linux32-utils.zip -o \
- ! -f inputs/lxml-$LXML_VER-linux64-utils.zip ];
+ ! -f inputs/lxml-$LXML_VER-linux64-utils.zip -o \
+ ! -f inputs/gmp-$GMP_VER-linux32-utils.zip -o \
+ ! -f inputs/gmp-$GMP_VER-linux64-utils.zip ];
then
echo
echo "****** Starting Utilities Component of Linux Bundle (1/5 for Linux) ******"
@@ -128,6 +130,8 @@ then
ln -sf python-$PYTHON_VER-linux64-utils.zip python-linux64-utils.zip
ln -sf lxml-$LXML_VER-linux32-utils.zip lxml-linux32-utils.zip
ln -sf lxml-$LXML_VER-linux64-utils.zip lxml-linux64-utils.zip
+ ln -sf gmp-$GMP_VER-linux32-utils.zip gmp-linux32-utils.zip
+ ln -sf gmp-$GMP_VER-linux64-utils.zip gmp-linux64-utils.zip
cd ..
#cp -a result/utils-linux-res.yml inputs/
else
@@ -145,6 +149,8 @@ else
ln -sf python-$PYTHON_VER-linux64-utils.zip python-linux64-utils.zip
ln -sf lxml-$LXML_VER-linux32-utils.zip lxml-linux32-utils.zip
ln -sf lxml-$LXML_VER-linux64-utils.zip lxml-linux64-utils.zip
+ ln -sf gmp-$GMP_VER-linux32-utils.zip gmp-linux32-utils.zip
+ ln -sf gmp-$GMP_VER-linux64-utils.zip gmp-linux64-utils.zip
cd ..
fi
diff --git a/gitian/mkbundle-mac.sh b/gitian/mkbundle-mac.sh
index fb1d32f..e852989 100755
--- a/gitian/mkbundle-mac.sh
+++ b/gitian/mkbundle-mac.sh
@@ -106,7 +106,8 @@ fi
cd $GITIAN_DIR
if [ ! -f inputs/openssl-$OPENSSL_VER-mac32-utils.zip -o \
- ! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-mac32-utils.zip ];
+ ! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-mac32-utils.zip -o \
+ ! -f inputs/gmp-$GMP_VER-mac32-utils.zip ];
then
echo
echo "****** Starting Utilities Component of Mac Bundle (1/5 for Max) ******"
@@ -122,6 +123,7 @@ then
cp -a ../build/out/*-utils.zip .
ln -sf openssl-$OPENSSL_VER-mac32-utils.zip openssl-mac32-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-mac32-utils.zip libevent-mac32-utils.zip
+ ln -sf gmp-$GMP_VER-mac32-utils.zip gmp-mac32-utils.zip
cd ..
#cp -a result/utils-mac-res.yml inputs/
else
@@ -134,6 +136,7 @@ else
cd inputs
ln -sf openssl-$OPENSSL_VER-mac32-utils.zip openssl-mac32-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-mac32-utils.zip libevent-mac32-utils.zip
+ ln -sf gmp-$GMP_VER-mac32-utils.zip gmp-mac32-utils.zip
cd ..
fi
diff --git a/gitian/mkbundle-windows.sh b/gitian/mkbundle-windows.sh
index 198fe87..ecabeae 100755
--- a/gitian/mkbundle-windows.sh
+++ b/gitian/mkbundle-windows.sh
@@ -104,7 +104,8 @@ if [ ! -f inputs/binutils-$BINUTILS_VER-win32-utils.zip -o \
! -f inputs/mingw-w64-$GCC_VER-win32-utils.zip -o \
! -f inputs/zlib-${ZLIB_TAG_ORIG#v}-win32-utils.zip -o \
! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-win32-utils.zip -o \
- ! -f inputs/openssl-$OPENSSL_VER-win32-utils.zip ];
+ ! -f inputs/openssl-$OPENSSL_VER-win32-utils.zip -o \
+ ! -f inputs/gmp-$GMP_VER-win32-utils.zip ];
then
echo
echo "****** Starting Utilities Component of Windows Bundle (1/5 for Windows) ******"
@@ -124,6 +125,7 @@ then
ln -sf zlib-${ZLIB_TAG_ORIG#v}-win32-utils.zip zlib-win32-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-win32-utils.zip libevent-win32-utils.zip
ln -sf openssl-$OPENSSL_VER-win32-utils.zip openssl-win32-utils.zip
+ ln -sf gmp-$GMP_VER-win32-utils.zip gmp-win32-utils.zip
cd ..
#cp -a result/utils-win-res.yml inputs/
else
@@ -138,6 +140,7 @@ else
ln -sf zlib-${ZLIB_TAG_ORIG#v}-win32-utils.zip zlib-win32-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-win32-utils.zip libevent-win32-utils.zip
ln -sf openssl-$OPENSSL_VER-win32-utils.zip openssl-win32-utils.zip
+ ln -sf gmp-$GMP_VER-win32-utils.zip gmp-win32-utils.zip
cd ..
fi
1
0

[tor-browser-bundle/master] Rebased Yawning's patch against latest tor master.
by gk@torproject.org 21 May '14
by gk@torproject.org 21 May '14
21 May '14
commit 175b010a0c84e55947e759c63606b224d38bafce
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed May 21 10:14:02 2014 +0000
Rebased Yawning's patch against latest tor master.
---
gitian/patches/bug8402-master.patch | 75 +++++++++--------------------------
1 file changed, 18 insertions(+), 57 deletions(-)
diff --git a/gitian/patches/bug8402-master.patch b/gitian/patches/bug8402-master.patch
index d5e7b37..5a6386a 100644
--- a/gitian/patches/bug8402-master.patch
+++ b/gitian/patches/bug8402-master.patch
@@ -1,4 +1,4 @@
-From 2c9bcdf79a9ba98b79feba10a8000f5609de36e6 Mon Sep 17 00:00:00 2001
+From 9d7410ac5837658efa9b2d7d85c0c71f09a7a759 Mon Sep 17 00:00:00 2001
From: Yawning Angel <yawning(a)schwanenlied.me>
Date: Tue, 25 Mar 2014 07:21:22 +0000
Subject: [PATCH 1/5] Allow ClientTransportPlugins to use proxies
@@ -9,38 +9,18 @@ pluggable transport specification.
This fixes bug #8402.
---
- src/or/config.c | 24 +++++++----
+ src/or/config.c | 13 ++++--
src/or/connection.c | 62 +++++++++++++++++++++--------
src/or/transports.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++--
src/or/transports.h | 6 +++
src/test/test_pt.c | 81 +++++++++++++++++++++++++++++++++++++
- 5 files changed, 258 insertions(+), 27 deletions(-)
+ 5 files changed, 251 insertions(+), 23 deletions(-)
diff --git a/src/or/config.c b/src/or/config.c
-index 1faf138..614e779 100644
+index 0f7b1d2..b33098e 100644
--- a/src/or/config.c
+++ b/src/or/config.c
-@@ -536,7 +536,9 @@ static int options_transition_affects_descriptor(
- const or_options_t *old_options, const or_options_t *new_options);
- static int check_nickname_list(char **lst, const char *name, char **msg);
-
--static int parse_client_transport_line(const char *line, int validate_only);
-+static int parse_client_transport_line(const or_options_t *options,
-+ const char *line,
-+ int validate_only);
-
- static int parse_server_transport_line(const char *line, int validate_only);
- static char *get_bindaddr_from_transport_listen_line(const char *line,
-@@ -1426,7 +1428,7 @@ options_act(const or_options_t *old_options)
- pt_prepare_proxy_list_for_config_read();
- if (options->ClientTransportPlugin) {
- for (cl = options->ClientTransportPlugin; cl; cl = cl->next) {
-- if (parse_client_transport_line(cl->value, 0)<0) {
-+ if (parse_client_transport_line(options, cl->value, 0)<0) {
- log_warn(LD_BUG,
- "Previously validated ClientTransportPlugin line "
- "could not be added!");
-@@ -3169,11 +3171,11 @@ options_validate(or_options_t *old_options, or_options_t *options,
+@@ -3174,11 +3174,11 @@ options_validate(or_options_t *old_options, or_options_t *options,
}
}
@@ -55,26 +35,7 @@ index 1faf138..614e779 100644
/* Check if the proxies will give surprising behavior. */
if (options->HTTPProxy && !(options->Socks4Proxy ||
-@@ -3284,7 +3286,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
- }
-
- for (cl = options->ClientTransportPlugin; cl; cl = cl->next) {
-- if (parse_client_transport_line(cl->value, 1)<0)
-+ if (parse_client_transport_line(options, cl->value, 1)<0)
- REJECT("Transport line did not parse. See logs for details.");
- }
-
-@@ -4734,7 +4736,8 @@ parse_bridge_line(const char *line)
- * our internal transport list.
- * - If it's a managed proxy line, launch the managed proxy. */
- static int
--parse_client_transport_line(const char *line, int validate_only)
-+parse_client_transport_line(const or_options_t *options, const char *line,
-+ int validate_only)
- {
- smartlist_t *items = NULL;
- int r;
-@@ -4825,6 +4828,13 @@ parse_client_transport_line(const char *line, int validate_only)
+@@ -4842,6 +4842,13 @@ parse_client_transport_line(const or_options_t *options,
pt_kickstart_client_proxy(transport_list, proxy_argv);
}
} else { /* external */
@@ -89,7 +50,7 @@ index 1faf138..614e779 100644
log_warn(LD_CONFIG, "You can't have an external proxy with "
"more than one transports.");
diff --git a/src/or/connection.c b/src/or/connection.c
-index 3cc4e09..a9c5596 100644
+index cef9172..b32cddf 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -86,6 +86,8 @@ static int connection_read_https_proxy_response(connection_t *conn);
@@ -517,10 +478,10 @@ index f71627d..788d420 100644
};
--
-2.0.0.rc0
+2.0.0.rc2
-From d1f3631335cc2757e2319055348a1614a00fa7b2 Mon Sep 17 00:00:00 2001
+From 92eecbfee128b22b07bcc97ac36ecdd5183c2da7 Mon Sep 17 00:00:00 2001
From: Yawning Angel <yawning(a)schwanenlied.me>
Date: Mon, 14 Apr 2014 21:51:34 +0000
Subject: [PATCH 2/5] Fixed the test build with --enable-gcc-warnings
@@ -609,10 +570,10 @@ index 788d420..cfbd084 100644
done:
if (uri)
--
-2.0.0.rc0
+2.0.0.rc2
-From e2b63cda85ba08b1675c7cf376d21700ca34bcf5 Mon Sep 17 00:00:00 2001
+From 8361223c10eb929b570e72853a5d9e51b67fd6c3 Mon Sep 17 00:00:00 2001
From: Yawning Angel <yawning(a)schwanenlied.me>
Date: Thu, 1 May 2014 03:30:09 +0000
Subject: [PATCH 3/5] Remove get_bridge_pt_addrport().
@@ -629,7 +590,7 @@ being used, it is PT/proxy-less.
1 file changed, 12 insertions(+), 34 deletions(-)
diff --git a/src/or/connection.c b/src/or/connection.c
-index a9c5596..4bb2683 100644
+index b32cddf..ff8cdf1 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -86,8 +86,6 @@ static int connection_read_https_proxy_response(connection_t *conn);
@@ -708,10 +669,10 @@ index a9c5596..4bb2683 100644
tor_addr_make_unspec(addr);
--
-2.0.0.rc0
+2.0.0.rc2
-From ae0174c6e1da1051403c51fa881f66d57cc22acd Mon Sep 17 00:00:00 2001
+From 68184b317d3f4dc14e758e451377e4e3996bd0ab Mon Sep 17 00:00:00 2001
From: Yawning Angel <yawning(a)schwanenlied.me>
Date: Thu, 1 May 2014 03:43:53 +0000
Subject: [PATCH 4/5] Log the correct proxy type on failure.
@@ -724,7 +685,7 @@ config.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/or/connection.c b/src/or/connection.c
-index 4bb2683..cfa6ee5 100644
+index ff8cdf1..5069ed6 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -4841,7 +4841,7 @@ log_failed_proxy_connection(connection_t *conn)
@@ -737,10 +698,10 @@ index 4bb2683..cfa6ee5 100644
}
--
-2.0.0.rc0
+2.0.0.rc2
-From 378e6f7f8521ed0c35dc1afc91840117713498fb Mon Sep 17 00:00:00 2001
+From 34200a44fbbd3f158ea17043c2bcd21d0e382b89 Mon Sep 17 00:00:00 2001
From: Yawning Angel <yawning(a)schwanenlied.me>
Date: Thu, 1 May 2014 18:58:53 +0000
Subject: [PATCH 5/5] Improve the log message when a transport doesn't support
@@ -767,5 +728,5 @@ index b810315..eee159d 100644
break;
}
--
-2.0.0.rc0
+2.0.0.rc2
1
0

[tor-browser-bundle/master] Bug 10120: Part 3: Refactor Mac descriptors.
by gk@torproject.org 15 May '14
by gk@torproject.org 15 May '14
15 May '14
commit e0ef86ec6822abfb17554defaf287e926f3a8206
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu May 15 14:23:43 2014 +0000
Bug 10120: Part 3: Refactor Mac descriptors.
We build the tools needed for the Mac descriptors separately and
preserve them. This does not include the tools in the Pluggable
Transports descriptor. Using our newly built OpenSSL there, e.g.,
will happen in an other commit.
---
gitian/descriptors/mac/gitian-tor.yml | 76 +++++-------------
gitian/descriptors/mac/gitian-utils.yml | 70 +++++++++++++++++
gitian/mkbundle-mac.sh | 131 +++++++++++++++++++------------
3 files changed, 170 insertions(+), 107 deletions(-)
diff --git a/gitian/descriptors/mac/gitian-tor.yml b/gitian/descriptors/mac/gitian-tor.yml
index 68905e7..b8a761b 100644
--- a/gitian/descriptors/mac/gitian-tor.yml
+++ b/gitian/descriptors/mac/gitian-tor.yml
@@ -4,7 +4,7 @@ suites:
- "precise"
architectures:
- "i386"
-packages:
+packages:
- "git-core"
- "unzip"
- "zip"
@@ -13,18 +13,12 @@ packages:
- "automake"
- "faketime"
- "libtool"
-#- "libssl0.9.8"
reference_datetime: "2000-01-01 00:00:00"
remotes:
- "url": "https://git.torproject.org/tor.git"
"dir": "tor"
-- "url": "https://github.com/libevent/libevent.git"
- "dir": "libevent"
-- "url": "https://github.com/madler/zlib.git"
- "dir": "zlib"
files:
- "versions"
-- "openssl.tar.gz"
- "bug10297.patch"
- "bug5018.patch"
- "bug9229.patch"
@@ -37,63 +31,32 @@ files:
- "apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb"
- "multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz"
- "dzip.sh"
-#- "apple-x86-gcc_4.2.1~5646.1flosoft2_i386.deb"
-#- "apple-x86-odcctools_758.159-0flosoft11_i386.deb"
+- "openssl-mac32-utils.zip"
+- "libevent-mac32-utils.zip"
script: |
INSTDIR="$HOME/install"
source versions
- export LIBRARY_PATH="$INSTDIR/lib"
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
export LC_ALL=C
umask 0022
#
- #export CFLAGS="-isysroot /usr/lib/apple/SDKs/MacOSX10.6.sdk/"
- #export CXXFLAGS=$CFLAGS
- #export LDFLAGS=$CFLAGS
- export PATH="$PATH:/usr/apple-osx/bin/"
- export CFLAGS="-I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
- export LDFLAGS="-L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
- #
mkdir -p $INSTDIR/bin/
mkdir -p $INSTDIR/TorBrowserBundle.app/Tor/
mkdir -p $INSTDIR/TorBrowserBundle.app/Data/Tor/
mkdir -p $OUTDIR/
#
sudo dpkg -i *.deb
- cd /usr
- sudo tar -Jxvf /home/ubuntu/build/multiarch-darwin*tar.xz
- cd ~/build
- # For OpenSSL
- sudo ln -s /usr/apple-osx/bin/apple-osx-gcc /usr/apple-osx/bin/i686-apple-darwin11-cc
- #
- #cd zlib
- #find -type f | xargs touch --date="$REFERENCE_DATETIME"
- #make BINARY_PATH=$INSTDIR/zlib/lib INCLUDE_PATH=$INSTDIR/zlib/include LIBRARY_PATH=$INSTDIR/zlib/lib PREFIX=i686-apple-darwin10- $MAKEOPTS SHARED_MODE=1
- #make BINARY_PATH=$INSTDIR/zlib/lib INCLUDE_PATH=$INSTDIR/zlib/include LIBRARY_PATH=$INSTDIR/zlib/lib PREFIX=i686-apple-darwin10- $MAKEOPTS SHARED_MODE=1 install
- #cp $INSTDIR/zlib/lib/*.dylib $INSTDIR/Tor/
- #cd ..
- #
- tar xzf openssl.tar.gz
- cd openssl-*
- find -type f | xargs touch --date="$REFERENCE_DATETIME"
- ./Configure --cross-compile-prefix=i686-apple-darwin11- $CFLAGS darwin-i386-cc --prefix=$INSTDIR/openssl #enable-ec_nistp_64_gcc_128
- make # SHARED_LDFLAGS="-shared -dynamiclib -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/"
- make install
- #cp $INSTDIR/openssl/lib/*.dylib $INSTDIR/TorBrowserBundle.app/Tor/
- cd ..
- #
- cd libevent
- ./autogen.sh
- find -type f | xargs touch --date="$REFERENCE_DATETIME"
- ./configure --disable-static --host=i686-apple-darwin11 --prefix=$INSTDIR/libevent
- make $MAKEOPTS
- make install
+ tar xaf multiarch-darwin*tar.xz
+ export PATH="$PATH:$HOME/build/apple-osx/bin/"
+ unzip -d $INSTDIR openssl-mac32-utils.zip
+ unzip -d $INSTDIR libevent-mac32-utils.zip
cp $INSTDIR/libevent/lib/libevent-*.dylib $INSTDIR/TorBrowserBundle.app/Tor/
LIBEVENT_FILE=`basename $INSTDIR/libevent/lib/libevent-*.dylib`
- cd ..
#
+ export CFLAGS="-I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
+ export LDFLAGS="-L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
cd tor
git update-index --refresh -q
export GIT_COMMITTER_NAME="nobody"
@@ -118,22 +81,19 @@ script: |
fi
fi
mkdir -p $OUTDIR/src
- git archive HEAD | tar -x -C $OUTDIR/src
+ #git archive HEAD | tar -x -C $OUTDIR/src
./autogen.sh
find -type f | xargs touch --date="$REFERENCE_DATETIME"
- ./configure --enable-static-openssl --disable-asciidoc --host=i686-apple-darwin11 --with-libevent-dir=$INSTDIR/libevent --with-openssl-dir=$INSTDIR/openssl --prefix=$INSTDIR --with-zlib-dir=$INSTDIR/zlib/
+ ./configure --enable-static-openssl --disable-asciidoc --host=i686-apple-darwin11 --with-libevent-dir=$INSTDIR/libevent --with-openssl-dir=$INSTDIR/openssl --prefix=$INSTDIR
make $MAKEOPTS
make install
- cd ..
- cp $INSTDIR/bin/tor $INSTDIR/TorBrowserBundle.app/Tor/
- cp $INSTDIR/share/tor/geoip $INSTDIR/TorBrowserBundle.app/Data/Tor/
- cd $INSTDIR/TorBrowserBundle.app/Tor/
- i686-apple-darwin11-install_name_tool -change /home/ubuntu/install/libevent/lib/$LIBEVENT_FILE @executable_path/$LIBEVENT_FILE tor
+ cd $INSTDIR
+ cp bin/tor TorBrowserBundle.app/Tor/
+ cp share/tor/geoip TorBrowserBundle.app/Data/Tor/
+ cd TorBrowserBundle.app/Tor/
+ i686-apple-darwin11-install_name_tool -change $INSTDIR/libevent/lib/$LIBEVENT_FILE @executable_path/$LIBEVENT_FILE tor
# XXX: Geoip files..
#
- #cp -a /usr/lib/gcc/i686-apple-darwin10/4.6/libgcc_s_sjlj-1.dll $INSTDIR/Tor/
- #cp -a /usr/lib/gcc/i686-apple-darwin10/4.6/libssp*.dll $INSTDIR/Tor/
- #
cd $INSTDIR
- ~/build/dzip.sh tor-mac$GBUILD_BITS-gbuilt.zip TorBrowserBundle.app
- cp tor-mac$GBUILD_BITS-gbuilt.zip $OUTDIR/
+ ~/build/dzip.sh tor-mac32-gbuilt.zip TorBrowserBundle.app
+ cp tor-mac32-gbuilt.zip $OUTDIR/
diff --git a/gitian/descriptors/mac/gitian-utils.yml b/gitian/descriptors/mac/gitian-utils.yml
new file mode 100644
index 0000000..1caf8f0
--- /dev/null
+++ b/gitian/descriptors/mac/gitian-utils.yml
@@ -0,0 +1,70 @@
+---
+name: "utils-mac"
+suites:
+- "precise"
+architectures:
+- "i386"
+packages:
+- "git-core"
+- "unzip"
+- "zip"
+- "autoconf"
+- "autoconf2.13"
+- "automake"
+- "faketime"
+- "libtool"
+reference_datetime: "2000-01-01 00:00:00"
+remotes:
+- "url": "https://github.com/libevent/libevent.git"
+ "dir": "libevent"
+files:
+- "apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb"
+- "multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz"
+- "openssl.tar.gz"
+- "versions"
+- "dzip.sh"
+script: |
+ INSTDIR="$HOME/install"
+ source versions
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
+ export FAKETIME=$REFERENCE_DATETIME
+ export TZ=UTC
+ export LC_ALL=C
+ umask 0022
+
+ sudo dpkg -i *.deb
+ tar xaf multiarch-darwin*tar.xz
+ export PATH="$PATH:$HOME/build/apple-osx/bin/"
+ # For OpenSSL
+ ln -s ~/build/apple-osx/bin/apple-osx-gcc ~/build/apple-osx/bin/i686-apple-darwin11-cc
+
+ export CFLAGS="-I/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/include/ -I/usr/lib/gcc/i686-apple-darwin10/4.2.1/include/ -I. -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
+ export LDFLAGS="-L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/ -L/usr/lib/apple/SDKs/MacOSX10.6.sdk/usr/lib/system/ -mmacosx-version-min=10.5"
+
+ # Building Libevent
+ cd libevent
+ ./autogen.sh
+ find -type f | xargs touch --date="$REFERENCE_DATETIME"
+ ./configure --disable-static --host=i686-apple-darwin11 --prefix=$INSTDIR/libevent
+ make $MAKEOPTS
+ make install
+ cd ..
+
+ # Building OpenSSL
+ tar xzf openssl.tar.gz
+ cd openssl-*
+ find -type f | xargs touch --date="$REFERENCE_DATETIME"
+ # TODO: Add enable-ec_nistp_64_gcc_128 for 64bit OS X.
+ ./Configure --cross-compile-prefix=i686-apple-darwin11- $CFLAGS darwin-i386-cc --prefix=$INSTDIR/openssl
+ # Using $MAKEOPTS breaks the build. Might be the issue mentioned on
+ # http://cblfs.cross-lfs.org/index.php/OpenSSL.
+ make
+ make install
+ cd ..
+
+ # Grabbing the results
+ cd $INSTDIR
+ ~/build/dzip.sh openssl-$OPENSSL_VER-mac32-utils.zip openssl
+ ~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-mac32-utils.zip libevent
+
+ cp *utils.zip $OUTDIR/
diff --git a/gitian/mkbundle-mac.sh b/gitian/mkbundle-mac.sh
index d34002d..fb1d32f 100755
--- a/gitian/mkbundle-mac.sh
+++ b/gitian/mkbundle-mac.sh
@@ -42,7 +42,7 @@ fi
cd $GITIAN_DIR
export PATH=$PATH:$PWD/libexec
-echo "pref(\"torbrowser.version\", \"$TORBROWSER_VERSION-MacOS\");" > $GITIAN_DIR/inputs/torbrowser.version
+echo "pref(\"torbrowser.version\", \"$TORBROWSER_VERSION-MacOS\");" > $GITIAN_DIR/inputs/torbrowser.version
echo "$TORBROWSER_VERSION" > $GITIAN_DIR/inputs/bare-version
cp -a $WRAPPER_DIR/$VERSIONS_FILE $GITIAN_DIR/inputs/versions
@@ -51,7 +51,7 @@ cp $WRAPPER_DIR/patches/* $GITIAN_DIR/inputs/
cd $WRAPPER_DIR/..
rm -f $GITIAN_DIR/inputs/relativelink-src.zip
-$WRAPPER_DIR/build-helpers/dzip.sh $GITIAN_DIR/inputs/relativelink-src.zip ./RelativeLink/
+$WRAPPER_DIR/build-helpers/dzip.sh $GITIAN_DIR/inputs/relativelink-src.zip ./RelativeLink/
cd ./Bundle-Data/
rm -f $GITIAN_DIR/inputs/tbb-docs.zip
@@ -79,6 +79,11 @@ die_msg() {
exit 1
}
+# Let's preserve the original $FOO for creating proper symlinks after building
+# the utils both if we verify tags and if we don't.
+
+LIBEVENT_TAG_ORIG=$LIBEVENT_TAG
+
if [ "z$VERIFY_TAGS" = "z1" ];
then
./verify-tags.sh $GITIAN_DIR/inputs $VERSIONS_FILE || die_msg "You should run 'make prep' to ensure your inputs are up to date"
@@ -100,32 +105,64 @@ fi
cd $GITIAN_DIR
-if [ ! -f $GITIAN_DIR/inputs/tor-mac32-gbuilt.zip ];
+if [ ! -f inputs/openssl-$OPENSSL_VER-mac32-utils.zip -o \
+ ! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-mac32-utils.zip ];
+then
+ echo
+ echo "****** Starting Utilities Component of Mac Bundle (1/5 for Max) ******"
+ echo
+ ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit libevent=$LIBEVENT_TAG $DESCRIPTOR_DIR/mac/gitian-utils.yml
+ if [ $? -ne 0 ];
+ then
+ #mv var/build.log ./utils-fail-mac.log.`date +%Y%m%d%H%M%S`
+ exit 1
+ fi
+
+ cd inputs
+ cp -a ../build/out/*-utils.zip .
+ ln -sf openssl-$OPENSSL_VER-mac32-utils.zip openssl-mac32-utils.zip
+ ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-mac32-utils.zip libevent-mac32-utils.zip
+ cd ..
+ #cp -a result/utils-mac-res.yml inputs/
+else
+ echo
+ echo "****** SKIPPING already built Utilities Component of Mac Bundle (1/5 for
+ Mac) ******"
+ echo
+ # We might have built the utilities in the past but maybe the links are
+ # pointing to the wrong version. Refresh them.
+ cd inputs
+ ln -sf openssl-$OPENSSL_VER-mac32-utils.zip openssl-mac32-utils.zip
+ ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-mac32-utils.zip libevent-mac32-utils.zip
+ cd ..
+fi
+
+if [ ! -f inputs/tor-mac32-gbuilt.zip ];
then
- echo
- echo "****** Starting Tor Component of Mac Bundle (1/4 for Mac) ******"
- echo
+ echo
+ echo "****** Starting Tor Component of Mac Bundle (2/5 for Mac) ******"
+ echo
- ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit zlib=$ZLIB_TAG,libevent=$LIBEVENT_TAG,tor=$TOR_TAG $DESCRIPTOR_DIR/mac/gitian-tor.yml
+ ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit tor=$TOR_TAG $DESCRIPTOR_DIR/mac/gitian-tor.yml
if [ $? -ne 0 ];
then
#mv var/build.log ./tor-fail-mac.log.`date +%Y%m%d%H%M%S`
exit 1
fi
-
- cp -a build/out/tor-mac*-gbuilt.zip $GITIAN_DIR/inputs/
- #cp -a result/tor-mac-res.yml $GITIAN_DIR/inputs/
+
+ cp -a build/out/tor-mac*-gbuilt.zip inputs/
+ #cp -a result/tor-mac-res.yml inputs/
else
- echo
- echo "****** SKIPPING already built Tor Component of Mac Bundle (1/4 for Mac) ******"
- echo
+ echo
+ echo "****** SKIPPING already built Tor Component of Mac Bundle (2/5 for Mac) ******"
+ echo
fi
-if [ ! -f $GITIAN_DIR/inputs/tor-browser-mac32-gbuilt.zip ];
+if [ ! -f inputs/tor-browser-mac32-gbuilt.zip ];
then
- echo
- echo "****** Starting TorBrowser Component of Mac Bundle (2/4 for Mac) ******"
- echo
+ echo
+ echo "****** Starting TorBrowser Component of Mac Bundle (3/5 for Mac) ******"
+ echo
./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit tor-browser=$TORBROWSER_TAG $DESCRIPTOR_DIR/mac/gitian-firefox.yml
if [ $? -ne 0 ];
@@ -134,19 +171,19 @@ then
exit 1
fi
- cp -a build/out/tor-browser-mac*-gbuilt.zip $GITIAN_DIR/inputs/
- #cp -a result/torbrowser-mac-res.yml $GITIAN_DIR/inputs/
+ cp -a build/out/tor-browser-mac*-gbuilt.zip inputs/
+ #cp -a result/torbrowser-mac-res.yml inputs/
else
- echo
- echo "****** SKIPPING already built TorBrowser Component of Mac Bundle (2/4 for Mac) ******"
- echo
+ echo
+ echo "****** SKIPPING already built TorBrowser Component of Mac Bundle (3/5 for Mac) ******"
+ echo
fi
-if [ ! -f $GITIAN_DIR/inputs/pluggable-transports-mac32-gbuilt.zip ];
+if [ ! -f inputs/pluggable-transports-mac32-gbuilt.zip ];
then
- echo
- echo "****** Starting Pluggable Transports Component of Mac Bundle (3/4 for Mac) ******"
- echo
+ echo
+ echo "****** Starting Pluggable Transports Component of Mac Bundle (4/5 for Mac) ******"
+ echo
./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG $DESCRIPTOR_DIR/mac/gitian-pluggable-transports.yml
if [ $? -ne 0 ];
@@ -155,44 +192,40 @@ then
exit 1
fi
- cp -a build/out/pluggable-transports-mac*-gbuilt.zip $GITIAN_DIR/inputs/
- #cp -a result/pluggable-transports-mac-res.yml $GITIAN_DIR/inputs/
+ cp -a build/out/pluggable-transports-mac*-gbuilt.zip inputs/
+ #cp -a result/pluggable-transports-mac-res.yml inputs/
else
- echo
- echo "****** SKIPPING already built Pluggable Transports Component of Mac Bundle (3/4 for Mac) ******"
- echo
+ echo
+ echo "****** SKIPPING already built Pluggable Transports Component of Mac Bundle (4/5 for Mac) ******"
+ echo
fi
-if [ ! -f $GITIAN_DIR/inputs/bundle-mac.gbuilt ];
-then
- echo
- echo "****** Starting Bundling+Localization Component of Mac Bundle (4/4 for Mac) ******"
- echo
-
+if [ ! -f inputs/bundle-mac.gbuilt ];
+then
+ echo
+ echo "****** Starting Bundling+Localization Component of Mac Bundle (5/5 for Mac) ******"
+ echo
+
cd $WRAPPER_DIR && ./record-inputs.sh $VERSIONS_FILE && cd $GITIAN_DIR
-
+
./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit libdmg-hfsplus=$LIBDMG_TAG,https-everywhere=$HTTPSE_TAG,torbutton=$TORBUTTON_TAG,tor-launcher=$TORLAUNCHER_TAG $DESCRIPTOR_DIR/mac/gitian-bundle.yml
if [ $? -ne 0 ];
then
#mv var/build.log ./bundle-fail-mac.log.`date +%Y%m%d%H%M%S`
exit 1
fi
-
- #cp -a build/out/*.dmg $WRAPPER_DIR
+
mkdir -p $WRAPPER_DIR/$TORBROWSER_VERSION/
cp -a build/out/* $WRAPPER_DIR/$TORBROWSER_VERSION/ || exit 1
- touch $GITIAN_DIR/inputs/bundle-mac.gbuilt
+ touch inputs/bundle-mac.gbuilt
else
- echo
- echo "****** SKIPPING already built Bundling+Localization Component of Mac Bundle (4/4 for Mac) ******"
- echo
+ echo
+ echo "****** SKIPPING already built Bundling+Localization Component of Mac Bundle (5/5 for Mac) ******"
+ echo
fi
-echo
+echo
echo "****** Mac Bundle complete ******"
-echo
-
-
-# FIXME: docs
+echo
1
0

[tor-browser-bundle/master] Bug 11919: Avoid console window popping up.
by gk@torproject.org 13 May '14
by gk@torproject.org 13 May '14
13 May '14
commit 75b64c8cbc39c7bed5a1865d978bceb2cc041302
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue May 13 12:04:17 2014 +0000
Bug 11919: Avoid console window popping up.
This is a regression due to c67075a87a05505d083a648a47adfbba46f79eff.
---
gitian/descriptors/windows/gitian-tor.yml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/gitian/descriptors/windows/gitian-tor.yml b/gitian/descriptors/windows/gitian-tor.yml
index 3263b48..abfd8bb 100644
--- a/gitian/descriptors/windows/gitian-tor.yml
+++ b/gitian/descriptors/windows/gitian-tor.yml
@@ -84,6 +84,9 @@ script: |
fi
mkdir -p $OUTDIR/src
#git archive HEAD | tar -x -C $OUTDIR/src
+ # Let's avoid the console window popping up.
+ export CFLAGS="-mwindows"
+ export LDFLAGS="-mwindows"
./autogen.sh
find -type f | xargs touch --date="$REFERENCE_DATETIME"
./configure --disable-asciidoc --host=i686-w64-mingw32 --with-libevent-dir=$INSTDIR/libevent --with-openssl-dir=$INSTDIR/openssl --prefix=$INSTDIR --with-zlib-dir=$INSTDIR/zlib/
1
0

[tor-browser-bundle/master] Bug 11629: Merge changes due to fteproxy 0.2.14.
by gk@torproject.org 11 May '14
by gk@torproject.org 11 May '14
11 May '14
commit 682f8f4d26d7df1b49a23c40dd7e7ca18f44ab90
Author: Georg Koppen <gk(a)torproject.org>
Date: Sun May 11 20:27:21 2014 +0000
Bug 11629: Merge changes due to fteproxy 0.2.14.
---
.../PTConfigs/linux/torrc-defaults-appendix | 2 +-
Bundle-Data/PTConfigs/mac/torrc-defaults-appendix | 2 +-
.../linux/gitian-pluggable-transports.yml | 14 +++++++++--
.../mac/gitian-pluggable-transports.yml | 14 +++++++++--
.../windows/gitian-pluggable-transports.yml | 25 +++++++++++++-------
gitian/fetch-inputs.sh | 1 +
gitian/mkbundle-linux.sh | 2 +-
gitian/mkbundle-mac.sh | 2 +-
gitian/mkbundle-windows.sh | 2 +-
gitian/verify-tags.sh | 1 +
gitian/versions | 7 +++---
gitian/versions.alpha | 5 ++--
gitian/versions.beta | 3 ++-
gitian/versions.nightly | 3 ++-
14 files changed, 58 insertions(+), 25 deletions(-)
diff --git a/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix b/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
index d0f621e..87108bd 100644
--- a/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
+++ b/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
@@ -1,5 +1,5 @@
## fteproxy configuration
-ClientTransportPlugin fte exec ./Tor/PluggableTransports/fteproxy --managed
+ClientTransportPlugin fte exec ./Tor/PluggableTransports/fteproxy.bin --managed
## obfsproxy configuration
ClientTransportPlugin obfs2,obfs3 exec ./Tor/PluggableTransports/obfsproxy.bin managed
diff --git a/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix b/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix
index e1ada73..7c6e6a5 100644
--- a/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix
+++ b/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix
@@ -1,5 +1,5 @@
## fteproxy configuration
-ClientTransportPlugin fte exec PluggableTransports/fteproxy --managed
+ClientTransportPlugin fte exec PluggableTransports/fteproxy.bin --managed
## obfsproxy configuration
ClientTransportPlugin obfs2,obfs3 exec PluggableTransports/obfsproxy.bin managed
diff --git a/gitian/descriptors/linux/gitian-pluggable-transports.yml b/gitian/descriptors/linux/gitian-pluggable-transports.yml
index 25109b8..eb9ca16 100644
--- a/gitian/descriptors/linux/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/linux/gitian-pluggable-transports.yml
@@ -23,6 +23,8 @@ remotes:
"dir": "obfsproxy"
- "url": "https://git.torproject.org/flashproxy.git"
"dir": "flashproxy"
+- "url": "https://github.com/kpdyer/libfte.git"
+ "dir": "libfte"
- "url": "https://github.com/kpdyer/fteproxy.git"
"dir": "fteproxy"
- "url": "https://github.com/habnabit/txsocksx.git"
@@ -163,12 +165,20 @@ script: |
cp -a {doc/*,README,LICENSE,ChangeLog} $INSTDIR/Docs/FlashProxy
cd ..
#
- cd fteproxy
+ cd libfte
ln -s $INSTDIR/gmp thirdparty/gmp
find -type f | xargs touch --date="$REFERENCE_DATETIME"
make
- cp -a bin/fteproxy $PTDIR/
cp -ra fte $PTDIR/
+ mkdir -p $INSTDIR/Docs/libfte
+ cp -a {LICENSE,README.md} $INSTDIR/Docs/libfte
+ cp -a thirdparty/re2/LICENSE $INSTDIR/Docs/libfte/LICENSE.re2
+ cd ..
+ #
+ cd fteproxy
+ find -type f | xargs touch --date="$REFERENCE_DATETIME"
+ cp -a bin/fteproxy $PTDIR/fteproxy.bin
+ cp -ra fteproxy $PTDIR/
mkdir -p $INSTDIR/Docs/fteproxy
cp -a {COPYING,README.md} $INSTDIR/Docs/fteproxy
cd ..
diff --git a/gitian/descriptors/mac/gitian-pluggable-transports.yml b/gitian/descriptors/mac/gitian-pluggable-transports.yml
index 6895c87..48521d8 100644
--- a/gitian/descriptors/mac/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/mac/gitian-pluggable-transports.yml
@@ -23,6 +23,8 @@ remotes:
"dir": "obfsproxy"
- "url": "https://git.torproject.org/flashproxy.git"
"dir": "flashproxy"
+- "url": "https://github.com/kpdyer/libfte.git"
+ "dir": "libfte"
- "url": "https://github.com/kpdyer/fteproxy.git"
"dir": "fteproxy"
- "url": "https://github.com/habnabit/txsocksx.git"
@@ -189,11 +191,19 @@ script: |
cp -a {doc/*,README,LICENSE,ChangeLog} $INSTDIR/TorBrowserBundle.app/Docs/FlashProxy
cd ..
#
- cd fteproxy
+ cd libfte
find -type f | xargs touch --date="$REFERENCE_DATETIME"
CFLAGS="-L$INSTDIR/Tor -I$INSTDIR/gmp/include $CFLAGS" CXXFLAGS="-L$INSTDIR/Tor -I$INSTDIR/gmp/include $CXXFLAGS" make
- cp -a bin/fteproxy $PTDIR/
cp -ra fte $PTDIR/
+ mkdir -p $INSTDIR/TorBrowserBundle.app/Docs/libfte
+ cp -a {LICENSE,README.md} $INSTDIR/TorBrowserBundle.app/Docs/libfte
+ cp -an thirdparty/re2/LICENSE $INSTDIR/TorBrowserBundle.app/Docs/libfte/LICENSE.re2
+ cd ..
+ #
+ cd fteproxy
+ find -type f | xargs touch --date="$REFERENCE_DATETIME"
+ cp -a bin/fteproxy $PTDIR/fteproxy.bin
+ cp -ra fteproxy $PTDIR/
mkdir -p $INSTDIR/TorBrowserBundle.app/Docs/fteproxy
cp -a {COPYING,README.md} $INSTDIR/TorBrowserBundle.app/Docs/fteproxy
cd ..
diff --git a/gitian/descriptors/windows/gitian-pluggable-transports.yml b/gitian/descriptors/windows/gitian-pluggable-transports.yml
index f1505bb..1637b23 100644
--- a/gitian/descriptors/windows/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/windows/gitian-pluggable-transports.yml
@@ -24,6 +24,8 @@ remotes:
"dir": "obfsproxy"
- "url": "https://git.torproject.org/flashproxy.git"
"dir": "flashproxy"
+- "url": "https://github.com/kpdyer/libfte.git"
+ "dir": "libfte"
- "url": "https://github.com/kpdyer/fteproxy.git"
"dir": "fteproxy"
- "url": "https://github.com/habnabit/txsocksx.git"
@@ -250,21 +252,26 @@ script: |
cp dist/flashproxy-client-win32/{doc/*,README,LICENSE,ChangeLog} $INSTDIR/Docs/FlashProxy
cd ..
#
- cd fteproxy
+ cd libfte
ln -s $INSTDIR/gmp thirdparty/gmp
cp -a $INSTDIR/gmp/bin/libgmp-*.dll .
find -type f | xargs touch --date="$REFERENCE_DATETIME"
- WINDOWS_BUILD=1 CROSS_COMPILE=1 make thirdparty/re2/obj/libre2.a
- LD_PRELOAD= $INSTPYTHON setup_tbb.py build_ext -c mingw32
+ LD_PRELOAD= WINDOWS_BUILD=1 CROSS_COMPILE=1 PYTHON=$INSTPYTHON make
+ LD_PRELOAD= $INSTPYTHON setup.py install
+ mkdir -p $INSTDIR/Docs/libfte
+ cp -an {LICENSE,README.md} $INSTDIR/Docs/libfte
+ cp -an thirdparty/re2/LICENSE $INSTDIR/Docs/libfte/LICENSE.re2
+ cd ..
+ #
+ cd fteproxy
+ find -type f | xargs touch --date="$REFERENCE_DATETIME"
LD_PRELOAD= $INSTPYTHON setup_tbb.py py2exe
py2exe_zip_timestomp dist/fteproxy.zip
cp -an dist/{*.pyd,*.exe,*.zip} $PTDIR/
- mkdir -p $PTDIR/fte
- cp -a fte/VERSION $PTDIR/fte
- mkdir -p $PTDIR/fte/defs
- cp -a fte/defs/*.json $PTDIR/fte/defs
- mkdir -p $PTDIR/fte/tests/dfas
- cp -a fte/tests/dfas/{*.dfa,*.regex} $PTDIR/fte/tests/dfas
+ mkdir -p $PTDIR/fteproxy
+ cp -a fteproxy/VERSION $PTDIR/fteproxy
+ mkdir -p $PTDIR/fteproxy/defs
+ cp -a fteproxy/defs/*.json $PTDIR/fteproxy/defs
mkdir -p $INSTDIR/Docs/fteproxy
cp -an {COPYING,README.md} $INSTDIR/Docs/fteproxy
cd ..
diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh
index c89d340..77356d7 100755
--- a/gitian/fetch-inputs.sh
+++ b/gitian/fetch-inputs.sh
@@ -307,6 +307,7 @@ tor-browser https://git.torproject.org/tor-browser.git $TORBR
pyptlib https://git.torproject.org/pluggable-transports/pyptlib.git $PYPTLIB_TAG
obfsproxy https://git.torproject.org/pluggable-transports/obfsproxy.git $OBFSPROXY_TAG
flashproxy https://git.torproject.org/flashproxy.git $FLASHPROXY_TAG
+libfte https://github.com/kpdyer/libfte.git $LIBFTE_TAG
fteproxy https://github.com/kpdyer/fteproxy.git $FTEPROXY_TAG
libdmg-hfsplus https://github.com/vasi/libdmg-hfsplus.git $LIBDMG_TAG
txsocksx https://github.com/habnabit/txsocksx.git $TXSOCKSX_TAG
diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh
index 574f578..992a23a 100755
--- a/gitian/mkbundle-linux.sh
+++ b/gitian/mkbundle-linux.sh
@@ -202,7 +202,7 @@ then
echo "****** Starting Pluggable Transports Component of Linux Bundle (4/5 for Linux) ******"
echo
- ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG $DESCRIPTOR_DIR/linux/gitian-pluggable-transports.yml
+ ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG $DESCRIPTOR_DIR/linux/gitian-pluggable-transports.yml
if [ $? -ne 0 ];
then
#mv var/build.log ./pluggable-transports-fail-linux.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/mkbundle-mac.sh b/gitian/mkbundle-mac.sh
index a7752a9..d34002d 100755
--- a/gitian/mkbundle-mac.sh
+++ b/gitian/mkbundle-mac.sh
@@ -148,7 +148,7 @@ then
echo "****** Starting Pluggable Transports Component of Mac Bundle (3/4 for Mac) ******"
echo
- ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG $DESCRIPTOR_DIR/mac/gitian-pluggable-transports.yml
+ ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG $DESCRIPTOR_DIR/mac/gitian-pluggable-transports.yml
if [ $? -ne 0 ];
then
#mv var/build.log ./firefox-fail-mac.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/mkbundle-windows.sh b/gitian/mkbundle-windows.sh
index dcb9012..198fe87 100755
--- a/gitian/mkbundle-windows.sh
+++ b/gitian/mkbundle-windows.sh
@@ -189,7 +189,7 @@ then
echo "****** Starting Pluggable Transports Component of Windows Bundle (4/5 for Windows) ******"
echo
- ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG $DESCRIPTOR_DIR/windows/gitian-pluggable-transports.yml
+ ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG $DESCRIPTOR_DIR/windows/gitian-pluggable-transports.yml
if [ $? -ne 0 ];
then
#mv var/build.log ./pluggable-transports-fail-win32.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/verify-tags.sh b/gitian/verify-tags.sh
index e5e9f3f..324a27a 100755
--- a/gitian/verify-tags.sh
+++ b/gitian/verify-tags.sh
@@ -106,6 +106,7 @@ while read dir commit; do
check_git_hash "$dir" "$commit"
done << EOF
libdmg-hfsplus $LIBDMG_TAG
+libfte $LIBFTE_TAG
fteproxy $FTEPROXY_TAG
txsocksx $TXSOCKSX_TAG
EOF
diff --git a/gitian/versions b/gitian/versions
index b5410b3..a9e033f 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -15,10 +15,11 @@ NSIS_TAG=v0.1
ZLIB_TAG=v1.2.8
LIBEVENT_TAG=release-2.0.21-stable
MINGW_REV=6184
-PYPTLIB_TAG=pyptlib-0.0.5
-OBFSPROXY_TAG=obfsproxy-0.2.4
+PYPTLIB_TAG=pyptlib-0.0.6
+OBFSPROXY_TAG=obfsproxy-0.2.9
FLASHPROXY_TAG=1.6
-FTEPROXY_TAG=55d81d2f0a4fab759c1ed8aca78dd3a5db6e75c6 # unsigned 0.2.13
+LIBFTE_TAG=19f6b8ffafca2ec8fffbc418bc0f88518cea22ac # tag 0.0.2
+FTEPROXY_TAG=b5d7fba5c505907693fd2b5321f2aa57d4390cfa # tag 0.2.14
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
TXSOCKSX_TAG=216eb0894a1755872f4789f9458aa6cf543b8433 # unsigned habnabit/1.13.0.2
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 3ca3442..702c1e4 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -16,9 +16,10 @@ ZLIB_TAG=v1.2.8
LIBEVENT_TAG=release-2.0.21-stable
MINGW_REV=6184
PYPTLIB_TAG=pyptlib-0.0.5
-OBFSPROXY_TAG=obfsproxy-0.2.8
+OBFSPROXY_TAG=obfsproxy-0.2.9
FLASHPROXY_TAG=1.6
-FTEPROXY_TAG=0.2.13
+LIBFTE_TAG=0.0.2
+FTEPROXY_TAG=0.2.14
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
GITIAN_TAG=tor-browser-builder-3.x-5
diff --git a/gitian/versions.beta b/gitian/versions.beta
index cafe6da..817a880 100755
--- a/gitian/versions.beta
+++ b/gitian/versions.beta
@@ -18,7 +18,8 @@ MINGW_REV=6184
PYPTLIB_TAG=pyptlib-0.0.6
OBFSPROXY_TAG=obfsproxy-0.2.9
FLASHPROXY_TAG=1.6
-FTEPROXY_TAG=55d81d2f0a4fab759c1ed8aca78dd3a5db6e75c6 # unsigned 0.2.13
+LIBFTE_TAG=19f6b8ffafca2ec8fffbc418bc0f88518cea22ac # tag 0.0.2
+FTEPROXY_TAG=b5d7fba5c505907693fd2b5321f2aa57d4390cfa # tag 0.2.14
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
TXSOCKSX_TAG=216eb0894a1755872f4789f9458aa6cf543b8433 # unsigned habnabit/1.13.0.2
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index 8238aa6..03f4f2f 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -18,7 +18,8 @@ MINGW_REV=6184
PYPTLIB_TAG=master
OBFSPROXY_TAG=master
FLASHPROXY_TAG=master
-FTEPROXY_TAG=55d81d2f0a4fab759c1ed8aca78dd3a5db6e75c6 # unsigned 0.2.13
+LIBFTE_TAG=master
+FTEPROXY_TAG=master
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
TXSOCKSX_TAG=216eb0894a1755872f4789f9458aa6cf543b8433 # unsigned habnabit/1.13.0.2
1
0

09 May '14
commit 43a8ecaf1ca987cd02bf2c46f8886749d4986773
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri May 9 09:39:08 2014 +0000
No need for a Data/ directory here.
---
gitian/descriptors/windows/gitian-pluggable-transports.yml | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/gitian/descriptors/windows/gitian-pluggable-transports.yml b/gitian/descriptors/windows/gitian-pluggable-transports.yml
index 3fdaf85..f1505bb 100644
--- a/gitian/descriptors/windows/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/windows/gitian-pluggable-transports.yml
@@ -4,7 +4,7 @@ suites:
- "precise"
architectures:
- "i386"
-packages:
+packages:
- "git-core"
- "unzip"
- "zip"
@@ -73,10 +73,9 @@ script: |
#export CFLAGS="-mwindows -fstack-protector-all -fPIE -Wstack-protector --param ssp-buffer-size=4 -fno-strict-overflow -Wno-missing-field-initializers -Wformat-security"
#export LDFLAGS="-mwindows -Wl,--dynamicbase -Wl,--nxcompat -lssp -L/usr/lib/gcc/i686-w64-mingw32/4.6/"
umask 0022
- #
+ #
mkdir -p $INSTDIR/bin/
mkdir -p $PTDIR/
- mkdir -p $INSTDIR/Data/Tor/
mkdir -p $OUTDIR/
#
# Set the timestamp on every .pyc file in a zip file, and re-dzip the zip file.
@@ -274,5 +273,5 @@ script: |
cp -a $INSTDIR/python/python27.dll $PTDIR/
#
cd $INSTDIR
- ~/build/dzip.sh pluggable-transports-win32-gbuilt.zip Tor/ Data/ Docs/
+ ~/build/dzip.sh pluggable-transports-win32-gbuilt.zip Tor/ Docs/
cp pluggable-transports-win32-gbuilt.zip $OUTDIR/
1
0

[tor-browser-bundle/master] Include Docs/ pluggable-transports-win32-gbuilt.zip.
by gk@torproject.org 09 May '14
by gk@torproject.org 09 May '14
09 May '14
commit dc9fb94873d8e0b7eff7a99ff177c666d91ab1cd
Author: David Fifield <david(a)bamsoftware.com>
Date: Thu May 8 11:45:00 2014 -0700
Include Docs/ pluggable-transports-win32-gbuilt.zip.
Pluggable transport docs were missing on windows.
---
gitian/descriptors/windows/gitian-pluggable-transports.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gitian/descriptors/windows/gitian-pluggable-transports.yml b/gitian/descriptors/windows/gitian-pluggable-transports.yml
index cf7595e..3fdaf85 100644
--- a/gitian/descriptors/windows/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/windows/gitian-pluggable-transports.yml
@@ -274,5 +274,5 @@ script: |
cp -a $INSTDIR/python/python27.dll $PTDIR/
#
cd $INSTDIR
- ~/build/dzip.sh pluggable-transports-win32-gbuilt.zip Tor/ Data/
+ ~/build/dzip.sh pluggable-transports-win32-gbuilt.zip Tor/ Data/ Docs/
cp pluggable-transports-win32-gbuilt.zip $OUTDIR/
1
0

[tor-browser-bundle/master] Install fteproxy docs to the right place in the mac descriptor.
by gk@torproject.org 09 May '14
by gk@torproject.org 09 May '14
09 May '14
commit f7e0b712fcd54503a8a421eaa1b363183b67482d
Author: David Fifield <david(a)bamsoftware.com>
Date: Thu May 8 11:54:54 2014 -0700
Install fteproxy docs to the right place in the mac descriptor.
---
gitian/descriptors/mac/gitian-pluggable-transports.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gitian/descriptors/mac/gitian-pluggable-transports.yml b/gitian/descriptors/mac/gitian-pluggable-transports.yml
index df73197..6895c87 100644
--- a/gitian/descriptors/mac/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/mac/gitian-pluggable-transports.yml
@@ -194,8 +194,8 @@ script: |
CFLAGS="-L$INSTDIR/Tor -I$INSTDIR/gmp/include $CFLAGS" CXXFLAGS="-L$INSTDIR/Tor -I$INSTDIR/gmp/include $CXXFLAGS" make
cp -a bin/fteproxy $PTDIR/
cp -ra fte $PTDIR/
- mkdir -p $INSTDIR/Docs/fteproxy
- cp -a {COPYING,README.md} $INSTDIR/Docs/fteproxy
+ mkdir -p $INSTDIR/TorBrowserBundle.app/Docs/fteproxy
+ cp -a {COPYING,README.md} $INSTDIR/TorBrowserBundle.app/Docs/fteproxy
cd ..
#
cd $INSTDIR
1
0

[tor-browser-bundle/master] Go back to tag 0.2.13 as FTE master is broken.
by gk@torproject.org 08 May '14
by gk@torproject.org 08 May '14
08 May '14
commit 20f5b691785566fe6b227d7e716f26eaf7cac151
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu May 8 20:27:46 2014 +0000
Go back to tag 0.2.13 as FTE master is broken.
---
gitian/versions.nightly | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index 93ee6a7..8238aa6 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -18,7 +18,7 @@ MINGW_REV=6184
PYPTLIB_TAG=master
OBFSPROXY_TAG=master
FLASHPROXY_TAG=master
-FTEPROXY_TAG=master
+FTEPROXY_TAG=55d81d2f0a4fab759c1ed8aca78dd3a5db6e75c6 # unsigned 0.2.13
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
TXSOCKSX_TAG=216eb0894a1755872f4789f9458aa6cf543b8433 # unsigned habnabit/1.13.0.2
1
0

[tor-browser-bundle/master] Don't break stable and beta due to c67075a.
by gk@torproject.org 08 May '14
by gk@torproject.org 08 May '14
08 May '14
commit 62590be461bf88c0d8f4cc7ed86d83ae360df075
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu May 8 15:14:01 2014 +0000
Don't break stable and beta due to c67075a.
---
gitian/versions | 2 +-
gitian/versions.beta | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/gitian/versions b/gitian/versions
index 8f939f7..b5410b3 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -6,7 +6,7 @@ VERIFY_TAGS=1
FIREFOX_VERSION=24.5.0esr
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-1-build3
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-1-build4
TOR_TAG=tor-0.2.4.21
TORLAUNCHER_TAG=0.2.5.4
TORBUTTON_TAG=1.6.9.0
diff --git a/gitian/versions.beta b/gitian/versions.beta
index 1f30a41..cafe6da 100755
--- a/gitian/versions.beta
+++ b/gitian/versions.beta
@@ -6,7 +6,7 @@ VERIFY_TAGS=1
FIREFOX_VERSION=24.5.0esr
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-1-build3
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-1-build4
TOR_TAG=tor-0.2.4.21
TORLAUNCHER_TAG=0.2.5.4
TORBUTTON_TAG=1.6.9.0
1
0

[tor-browser-bundle/master] Bug 10120: Part 2: Refactor Windows descriptors.
by gk@torproject.org 08 May '14
by gk@torproject.org 08 May '14
08 May '14
commit c67075a87a05505d083a648a47adfbba46f79eff
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu May 8 14:08:20 2014 +0000
Bug 10120: Part 2: Refactor Windows descriptors.
We build the tools needed for the Windows descriptors separately and
preserve them. This does not (yet) include the tools in the Pluggable
Transports descriptor which will happen in an other commit.
---
gitian/descriptors/windows/gitian-firefox.yml | 104 +++---------------
gitian/descriptors/windows/gitian-tor.yml | 62 +++--------
gitian/descriptors/windows/gitian-utils.yml | 145 +++++++++++++++++++++++++
gitian/mkbundle-linux.sh | 10 +-
gitian/mkbundle-windows.sh | 141 +++++++++++++++---------
5 files changed, 272 insertions(+), 190 deletions(-)
diff --git a/gitian/descriptors/windows/gitian-firefox.yml b/gitian/descriptors/windows/gitian-firefox.yml
index fefb677..94b5eef 100644
--- a/gitian/descriptors/windows/gitian-firefox.yml
+++ b/gitian/descriptors/windows/gitian-firefox.yml
@@ -12,24 +12,18 @@ packages:
- "autoconf2.13"
- "faketime"
- "yasm"
-- "mingw-w64"
-- "g++-mingw-w64-i686"
-- "mingw-w64-tools"
-- "libmpc-dev"
reference_datetime: "2000-01-01 00:00:00"
remotes:
- "url": "https://git.torproject.org/tor-browser.git"
"dir": "tor-browser"
files:
-# XXX: we need to make this input tarball deterministic :/
-- "mingw-w64-svn-snapshot.zip"
-- "binutils.tar.bz2"
-- "gcc.tar.bz2"
+- "mingw-w64-win32-utils.zip"
- "re-dzip.sh"
- "dzip.sh"
-- "i686-w64-mingw32-gcc"
-- "i686-w64-mingw32-g++"
-- "i686-w64-mingw32-ld"
+# TODO: Hardening.
+#- "i686-w64-mingw32-gcc"
+#- "i686-w64-mingw32-g++"
+#- "i686-w64-mingw32-ld"
- "msvcr100.dll"
- "versions"
script: |
@@ -43,80 +37,14 @@ script: |
#
mkdir -p $INSTDIR/Browser/
mkdir -p $OUTDIR/
- # If we ever find out that the 12.04 mingw is buggy/insufficient:
- #sudo bash -c 'echo "deb http://archive.ubuntu.com/ubuntu raring main restricted universe multiverse" >> /etc/apt/sources.list'
- #sudo apt-get update
- #sudo apt-get install -y g++-mingw-w64-i686 mingw-w64-tools mingw-w64
-
- # Build the latest MinGW-w64 headers, CRT and runtime libraries to get Tor
- # Browser going on all Windows platforms >= XP. In order to do so we link
- # against msvcr100 (which we ship with the browser) as msvcrt on Windows XP
- # does not contain the secure functions Firefox uses. That in turn makes it
- # necessary to re-compile the mingw-w64 runtime libraries as well as they are
- # linked against msvcrt by default. See bug 9084 for a more detailed
- # discussion.
-
- # FIXME: We need sudo for all of this because otherwise
- # the toolchain can't find the alternate prefix for the CRT headers :/
-
+ unzip -d $INSTDIR mingw-w64-win32-utils.zip
+ # Make sure our custom mingw gets used.
+ export PATH=$INSTDIR/mingw-w64/bin:$PATH
# We don't want to link against msvcrt.dll due to bug 9084.
i686-w64-mingw32-g++ -dumpspecs > msvcr100.spec
sed 's/msvcrt/msvcr100/' -i msvcr100.spec
- mkdir binutils
- cd binutils
- tar -xjvf ../binutils.tar.bz2
- sed 's/= extern_rt_rel_d;/= extern_rt_rel_d;\n memset (extern_rt_rel_d, 0, PE_IDATA5_SIZE);/' -i binutils-*/ld/pe-dll.c
- binutils-*/configure --prefix=/usr --target=i686-w64-mingw32 --disable-multilib
- make
- sudo make install
- cd ..
-
- mkdir mingw-w64
- cd mingw-w64
- unzip ../mingw-w64-svn-snapshot.zip
- #
- mkdir mingw-w64-headers32 && cd mingw-w64-headers32
- ../mingw-w64-svn/mingw-w64-headers/configure --host=i686-w64-mingw32 --prefix=/usr/i686-w64-mingw32/ --enable-sdk=all --enable-secure-api --enable-idl
- sudo make install
- sudo ln -s /usr/i686-w64-mingw32 /usr/mingw
- sudo mkdir -p /usr/i686-w64-mingw32/lib
- cd ..
- cd ..
- # First stage of gcc compilation
- mkdir gcc
- cd gcc
- tar -xjvf ../gcc.tar.bz2
- # Linking libgcc against msvcrt is hard-coded...
- sed 's/msvcrt/msvcr100/' -i gcc-*/gcc/config/i386/t-mingw-w32
- # LDFLAGS_FOR_TARGET does not work for some reason. Thus, we take
- # CFLAGS_FOR_TARGET.
- export CFLAGS_FOR_TARGET="-specs=/home/ubuntu/build/msvcr100.spec"
- gcc-*/configure --prefix=/usr --target=i686-w64-mingw32 --disable-multilib --enable-languages=c,c++
- make all-gcc
- sudo make install-gcc
- cd ..
- #
- cd mingw-w64
- mkdir mingw-w64-crt32 && cd mingw-w64-crt32
- ../mingw-w64-svn/mingw-w64-crt/configure --host=i686-w64-mingw32 --prefix=/usr/i686-w64-mingw32
- make
- sudo make install
- cd ..
- #
- mkdir widl32 && cd widl32
- ../mingw-w64-svn/mingw-w64-tools/widl/configure --prefix=/usr --target=i686-w64-mingw32
- make
- sudo make install
- cd ..
- cd ..
- # Second stage of gcc compilation
- cd gcc
- make
- sudo make install
- #
- cd ..
- #
+ # Building the browser
cd tor-browser
mv .mozconfig-mingw .mozconfig
# FIXME
@@ -130,7 +58,7 @@ script: |
# is therefore just a workaround which should get fixed but is at least
# justified as the signature of _strcmpi and _stricmp is the same, see:
# http://msdn.microsoft.com/en-us/library/k59z8dwe.aspx.
- sed 's/strcmpi/stricmp/' -i nsprpub/pr/src/linking/prlink.c
+ sed 's/strcmpi/stricmp/' -i nsprpub/pr/src/linking/prlink.c
export HOST_LDFLAGS=" "
export LDFLAGS="-specs=/home/ubuntu/build/msvcr100.spec"
# Our flags don't get passed to NSS. We need to do that manually using an
@@ -170,14 +98,12 @@ script: |
# Stripping again updates the PE header checksums to be correct
i686-w64-mingw32-strip $INSTDIR/Browser/gkmedias.dll
i686-w64-mingw32-strip $INSTDIR/Browser/xul.dll
- #
+
+ # Making the .ja files deterministic and grabbing the results
cd $INSTDIR
~/build/re-dzip.sh Browser/omni.ja
- if [ -f Browser/webapprt/omni.ja ]; then
- ~/build/re-dzip.sh Browser/webapprt/omni.ja
- fi
- if [ -f Browser/browser/omni.ja ]; then
- ~/build/re-dzip.sh Browser/browser/omni.ja
- fi
+ ~/build/re-dzip.sh Browser/webapprt/omni.ja
+ ~/build/re-dzip.sh Browser/browser/omni.ja
~/build/dzip.sh tor-browser-win32-gbuilt.zip Browser
+
cp tor-browser-win32-gbuilt.zip $OUTDIR
diff --git a/gitian/descriptors/windows/gitian-tor.yml b/gitian/descriptors/windows/gitian-tor.yml
index bb6998b..3263b48 100644
--- a/gitian/descriptors/windows/gitian-tor.yml
+++ b/gitian/descriptors/windows/gitian-tor.yml
@@ -4,7 +4,7 @@ suites:
- "precise"
architectures:
- "i386"
-packages:
+packages:
- "git-core"
- "unzip"
- "zip"
@@ -18,10 +18,6 @@ reference_datetime: "2000-01-01 00:00:00"
remotes:
- "url": "https://git.torproject.org/tor.git"
"dir": "tor"
-- "url": "https://github.com/libevent/libevent.git"
- "dir": "libevent"
-- "url": "https://github.com/madler/zlib.git"
- "dir": "zlib"
files:
- "versions"
- "bug10297.patch"
@@ -35,60 +31,33 @@ files:
- "bug8402-master.patch"
- "binutils.tar.bz2"
- "dzip.sh"
-- "openssl.tar.gz"
+- "binutils-win32-utils.zip"
+- "openssl-win32-utils.zip"
+- "libevent-win32-utils.zip"
+- "zlib-win32-utils.zip"
script: |
INSTDIR="$HOME/install"
source versions
- export LIBRARY_PATH="$INSTDIR/lib"
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
export LC_ALL=C
- # XXX: Hardening options cause the exe's to crash.. not sure why
- #export CFLAGS="-mwindows -fstack-protector-all -fPIE -Wstack-protector --param ssp-buffer-size=4 -fno-strict-overflow -Wno-missing-field-initializers -Wformat-security"
- #export LDFLAGS="-mwindows -Wl,--dynamicbase -Wl,--nxcompat -lssp -L/usr/lib/gcc/i686-w64-mingw32/4.6/"
umask 0022
- #
+ #
mkdir -p $INSTDIR/bin/
mkdir -p $INSTDIR/Tor/
mkdir -p $INSTDIR/Data/Tor/
- mkdir -p $OUTDIR/
- #
- mkdir binutils
- cd binutils
- tar -xjvf ../binutils.tar.bz2
- sed 's/= extern_rt_rel_d;/= extern_rt_rel_d;\n memset (extern_rt_rel_d, 0, PE_IDATA5_SIZE);/' -i binutils-*/ld/pe-dll.c
- binutils-*/configure --prefix=/usr --target=i686-w64-mingw32 --disable-multilib
- make
- sudo make install
- cd ..
- #
- export CFLAGS="-mwindows"
- export LDFLAGS="-mwindows"
- cd zlib
- find -type f | xargs touch --date="$REFERENCE_DATETIME"
- make BINARY_PATH=$INSTDIR/zlib/lib INCLUDE_PATH=$INSTDIR/zlib/include LIBRARY_PATH=$INSTDIR/zlib/lib -f win32/Makefile.gcc PREFIX=i686-w64-mingw32- $MAKEOPTS SHARED_MODE=1
- make BINARY_PATH=$INSTDIR/zlib/lib INCLUDE_PATH=$INSTDIR/zlib/include LIBRARY_PATH=$INSTDIR/zlib/lib -f win32/Makefile.gcc PREFIX=i686-w64-mingw32- $MAKEOPTS SHARED_MODE=1 install
+ unzip -d $INSTDIR binutils-win32-utils.zip
+ unzip -d $INSTDIR zlib-win32-utils.zip
+ unzip -d $INSTDIR libevent-win32-utils.zip
+ unzip -d $INSTDIR openssl-win32-utils.zip
cp $INSTDIR/zlib/lib/*.dll $INSTDIR/Tor/
- cd ..
- #
- cd libevent
- ./autogen.sh
- find -type f | xargs touch --date="$REFERENCE_DATETIME"
- ./configure --disable-static --host=i686-w64-mingw32 --prefix=$INSTDIR/libevent
- make $MAKEOPTS
- make install
cp $INSTDIR/libevent/bin/*.dll $INSTDIR/Tor/
- cd ..
- #
- tar xzf openssl.tar.gz
- cd openssl-*
- find -type f | xargs touch --date="$REFERENCE_DATETIME"
- ./Configure -shared --cross-compile-prefix=i686-w64-mingw32- mingw --prefix=$INSTDIR/openssl #enable-ec_nistp_64_gcc_128
- make
- make install
cp $INSTDIR/openssl/bin/*.dll $INSTDIR/Tor/
- cd ..
+ # Make sure our custom ld gets used.
+ # See the we-need-only-the-binutils-comment in gitian-utils.yml for the
+ # reasoning behind the "mingw-w64" dir instead of an expected "binutils" one.
+ export PATH=$INSTDIR/mingw-w64/bin:$PATH
#
cd tor
git update-index --refresh -q
@@ -114,7 +83,7 @@ script: |
fi
fi
mkdir -p $OUTDIR/src
- git archive HEAD | tar -x -C $OUTDIR/src
+ #git archive HEAD | tar -x -C $OUTDIR/src
./autogen.sh
find -type f | xargs touch --date="$REFERENCE_DATETIME"
./configure --disable-asciidoc --host=i686-w64-mingw32 --with-libevent-dir=$INSTDIR/libevent --with-openssl-dir=$INSTDIR/openssl --prefix=$INSTDIR --with-zlib-dir=$INSTDIR/zlib/
@@ -124,7 +93,6 @@ script: |
install -s $INSTDIR/bin/tor.exe $INSTDIR/Tor/
cp $INSTDIR/share/tor/geoip $INSTDIR/Data/Tor/
# XXX: Geoip files..
- #
cp -a /usr/lib/gcc/i686-w64-mingw32/4.6/libgcc_s_sjlj-1.dll $INSTDIR/Tor/
cp -a /usr/lib/gcc/i686-w64-mingw32/4.6/libssp*.dll $INSTDIR/Tor/
#
diff --git a/gitian/descriptors/windows/gitian-utils.yml b/gitian/descriptors/windows/gitian-utils.yml
new file mode 100644
index 0000000..4e321a0
--- /dev/null
+++ b/gitian/descriptors/windows/gitian-utils.yml
@@ -0,0 +1,145 @@
+---
+name: "utils-windows"
+suites:
+- "precise"
+architectures:
+- "i386"
+packages:
+- "git-core"
+- "unzip"
+- "zip"
+- "autoconf"
+- "autoconf2.13"
+- "automake"
+- "mingw-w64"
+- "faketime"
+- "libtool"
+# XXX: Only needed to dump the spec.
+- "g++-mingw-w64-i686"
+# Needed for compiling gcc.
+- "libmpc-dev"
+reference_datetime: "2000-01-01 00:00:00"
+remotes:
+- "url": "https://github.com/libevent/libevent.git"
+ "dir": "libevent"
+- "url": "https://github.com/madler/zlib.git"
+ "dir": "zlib"
+files:
+# XXX: we need to make this input tarball deterministic :/
+- "mingw-w64-svn-snapshot.zip"
+- "binutils.tar.bz2"
+- "gcc.tar.bz2"
+- "openssl.tar.gz"
+- "versions"
+- "dzip.sh"
+script: |
+ INSTDIR="$HOME/install"
+ source versions
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
+ export FAKETIME=$REFERENCE_DATETIME
+ export TZ=UTC
+ export LC_ALL=C
+ umask 0022
+
+ # Building binutils
+ tar xjf binutils.tar.bz2
+ cd binutils*
+ # XXX: This is needed due to bug 10102.
+ sed 's/= extern_rt_rel_d;/= extern_rt_rel_d;\n memset (extern_rt_rel_d, 0, PE_IDATA5_SIZE);/' -i ld/pe-dll.c
+ ./configure --prefix=$INSTDIR/mingw-w64 --target=i686-w64-mingw32 --disable-multilib
+ make $MAKEOPTS
+ make install
+ # XXX: We currently do this as we are not using our own compiler but only our
+ # own binutils for compiling tor. See bug 10077. Nevertheless, we need both
+ # for cross-compiling Tor Browser.
+ cd $INSTDIR
+ ~/build/dzip.sh binutils-$BINUTILS_VER-win32-utils.zip mingw-w64
+ # Make sure our ld etc. is found and used.
+ export PATH=$INSTDIR/mingw-w64/bin:$PATH
+ cd ~/build
+
+ # Building mingw-w64
+ mkdir -p mingw-w64/mingw-w64-headers32
+ cd mingw-w64
+ unzip ../mingw-w64-svn-snapshot.zip
+ cd mingw-w64-headers32
+ ../mingw-w64-svn/mingw-w64-headers/configure --host=i686-w64-mingw32 --prefix=$INSTDIR/mingw-w64/i686-w64-mingw32 --enable-sdk=all --enable-secure-api --enable-idl
+ make install
+ cd ..
+ cd ..
+ # First stage of gcc compilation
+ mkdir gcc
+ cd gcc
+ tar -xjvf ../gcc.tar.bz2
+ # We don't want to link against msvcrt.dll due to bug 9084.
+ i686-w64-mingw32-g++ -dumpspecs > ~/build/msvcr100.spec
+ sed 's/msvcrt/msvcr100/' -i ~/build/msvcr100.spec
+ # Linking libgcc against msvcrt is hard-coded...
+ sed 's/msvcrt/msvcr100/' -i gcc-*/gcc/config/i386/t-mingw-w32
+ # LDFLAGS_FOR_TARGET does not work for some reason. Thus, we take
+ # CFLAGS_FOR_TARGET.
+ export CFLAGS_FOR_TARGET="-specs=/home/ubuntu/build/msvcr100.spec"
+ gcc-*/configure --prefix=$INSTDIR/mingw-w64 --target=i686-w64-mingw32 --disable-multilib --enable-languages=c,c++
+ # XXX: Using $MAKEOPTS (tested with -j4) breaks the build which does not
+ # happen in a non-gitian environment. This is probably related to bug 11459.
+ make all-gcc
+ make install-gcc
+ cd ..
+ #
+ cd mingw-w64
+ mkdir mingw-w64-crt32 && cd mingw-w64-crt32
+ ../mingw-w64-svn/mingw-w64-crt/configure --host=i686-w64-mingw32 --prefix=$INSTDIR/mingw-w64/i686-w64-mingw32
+ make $MAKEOPTS
+ make install
+ cd ..
+ #
+ mkdir widl32 && cd widl32
+ ../mingw-w64-svn/mingw-w64-tools/widl/configure --prefix=$INSTDIR/mingw-w64 --target=i686-w64-mingw32
+ make $MAKEOPTS
+ make install
+ cd ..
+ cd ..
+ # Second stage of gcc compilation
+ cd gcc
+ make $MAKEOPTS
+ make install
+ cd ..
+
+ # Building zlib
+ export CFLAGS="-mwindows"
+ export LDFLAGS="-mwindows"
+ cd zlib
+ find -type f | xargs touch --date="$REFERENCE_DATETIME"
+ make BINARY_PATH=$INSTDIR/zlib/lib INCLUDE_PATH=$INSTDIR/zlib/include LIBRARY_PATH=$INSTDIR/zlib/lib -f win32/Makefile.gcc PREFIX=i686-w64-mingw32- $MAKEOPTS SHARED_MODE=1
+ make BINARY_PATH=$INSTDIR/zlib/lib INCLUDE_PATH=$INSTDIR/zlib/include LIBRARY_PATH=$INSTDIR/zlib/lib -f win32/Makefile.gcc PREFIX=i686-w64-mingw32- $MAKEOPTS SHARED_MODE=1 install
+ cd ..
+
+ # Building Libevent
+ cd libevent
+ ./autogen.sh
+ find -type f | xargs touch --date="$REFERENCE_DATETIME"
+ ./configure --disable-static --host=i686-w64-mingw32 --prefix=$INSTDIR/libevent
+ make $MAKEOPTS
+ make install
+ cd ..
+
+ # Building OpenSSL
+ tar xzf openssl.tar.gz
+ cd openssl-*
+ find -type f | xargs touch --date="$REFERENCE_DATETIME"
+ # TODO: Add enable-ec_nistp_64_gcc_128 for 64bit Windows.
+ ./Configure -shared --cross-compile-prefix=i686-w64-mingw32- mingw --prefix=$INSTDIR/openssl
+ # Using $MAKEOPTS breaks the build. Might be the issue mentioned on
+ # http://cblfs.cross-lfs.org/index.php/OpenSSL.
+ make
+ make install
+ cd ..
+
+ # Grabbing the remaining results
+ cd $INSTDIR
+ ~/build/dzip.sh mingw-w64-$GCC_VER-win32-utils.zip mingw-w64
+ ~/build/dzip.sh zlib-${ZLIB_TAG#v}-win32-utils.zip zlib
+ ~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-win32-utils.zip libevent
+ ~/build/dzip.sh openssl-$OPENSSL_VER-win32-utils.zip openssl
+
+ cp *-utils.zip $OUTDIR/
diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh
index 4c9de72..574f578 100755
--- a/gitian/mkbundle-linux.sh
+++ b/gitian/mkbundle-linux.sh
@@ -114,7 +114,7 @@ then
./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit libevent=$LIBEVENT_TAG $DESCRIPTOR_DIR/linux/gitian-utils.yml
if [ $? -ne 0 ];
then
- #mv var/build.log ./tor-fail-linux.log.`date +%Y%m%d%H%M%S`
+ #mv var/build.log ./utils-fail-linux.log.`date +%Y%m%d%H%M%S`
exit 1
fi
@@ -129,7 +129,7 @@ then
ln -sf lxml-$LXML_VER-linux32-utils.zip lxml-linux32-utils.zip
ln -sf lxml-$LXML_VER-linux64-utils.zip lxml-linux64-utils.zip
cd ..
- #cp -a result/tor-linux-res.yml $GITIAN_DIR/inputs/
+ #cp -a result/utils-linux-res.yml inputs/
else
echo
echo "****** SKIPPING already built Utilities Component of Linux Bundle (1/5 for Linux) ******"
@@ -164,7 +164,7 @@ then
cp -a build/out/tor-linux*-gbuilt.zip inputs/
cp -a build/out/tor-linux*-debug.zip inputs/
- #cp -a result/tor-linux-res.yml $GITIAN_DIR/inputs/
+ #cp -a result/tor-linux-res.yml inputs/
else
echo
echo "****** SKIPPING already built Tor Component of Linux Bundle (2/5 for Linux) ******"
@@ -188,7 +188,7 @@ then
cp -a build/out/tor-browser-linux*-gbuilt.zip inputs/
cp -a build/out/tor-browser-linux*-debug.zip inputs/
- #cp -a result/torbrowser-linux-res.yml $GITIAN_DIR/inputs/
+ #cp -a result/torbrowser-linux-res.yml inputs/
else
echo
echo "****** SKIPPING already built TorBrowser Component of Linux Bundle (3/5 for Linux) ******"
@@ -211,7 +211,7 @@ then
cp -a build/out/pluggable-transports-linux*-gbuilt.zip inputs/
cp -a build/out/pluggable-transports-linux*-debug.zip inputs/
- #cp -a result/pluggable-transports-linux-res.yml $GITIAN_DIR/inputs/
+ #cp -a result/pluggable-transports-linux-res.yml inputs/
else
echo
echo "****** SKIPPING already built Pluggable Transports Component of Linux Bundle (4/5 for Linux) ******"
diff --git a/gitian/mkbundle-windows.sh b/gitian/mkbundle-windows.sh
index f93fb57..dcb9012 100755
--- a/gitian/mkbundle-windows.sh
+++ b/gitian/mkbundle-windows.sh
@@ -17,7 +17,6 @@ fi
. $VERSIONS_FILE
-
WRAPPER_DIR=$PWD
GITIAN_DIR=$PWD/../../gitian-builder
DESCRIPTOR_DIR=$PWD/descriptors/
@@ -43,7 +42,7 @@ fi
cd $GITIAN_DIR
export PATH=$PATH:$PWD/libexec
-echo "pref(\"torbrowser.version\", \"$TORBROWSER_VERSION-Windows\");" > $GITIAN_DIR/inputs/torbrowser.version
+echo "pref(\"torbrowser.version\", \"$TORBROWSER_VERSION-Windows\");" > $GITIAN_DIR/inputs/torbrowser.version
echo "$TORBROWSER_VERSION" > $GITIAN_DIR/inputs/bare-version
cp -a $WRAPPER_DIR/$VERSIONS_FILE $GITIAN_DIR/inputs/versions
@@ -53,7 +52,7 @@ cp $WRAPPER_DIR/gpg/ubuntu-wine.gpg $GITIAN_DIR/inputs/
cd $WRAPPER_DIR/..
rm -f $GITIAN_DIR/inputs/relativelink-src.zip
-$WRAPPER_DIR/build-helpers/dzip.sh $GITIAN_DIR/inputs/relativelink-src.zip ./RelativeLink/
+$WRAPPER_DIR/build-helpers/dzip.sh $GITIAN_DIR/inputs/relativelink-src.zip ./RelativeLink/
cd ./Bundle-Data/
rm -f $GITIAN_DIR/inputs/tbb-docs.zip
@@ -74,6 +73,12 @@ die_msg() {
exit 1
}
+# Let's preserve the original $FOO for creating proper symlinks after building
+# the utils both if we verify tags and if we don't.
+
+LIBEVENT_TAG_ORIG=$LIBEVENT_TAG
+ZLIB_TAG_ORIG=$ZLIB_TAG
+
if [ "z$VERIFY_TAGS" = "z1" ];
then
./verify-tags.sh $GITIAN_DIR/inputs $VERSIONS_FILE || die_msg "You should run 'make prep' to ensure your inputs are up to date"
@@ -95,32 +100,73 @@ fi
cd $GITIAN_DIR
-if [ ! -f $GITIAN_DIR/inputs/tor-win32-gbuilt.zip ];
+if [ ! -f inputs/binutils-$BINUTILS_VER-win32-utils.zip -o \
+ ! -f inputs/mingw-w64-$GCC_VER-win32-utils.zip -o \
+ ! -f inputs/zlib-${ZLIB_TAG_ORIG#v}-win32-utils.zip -o \
+ ! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-win32-utils.zip -o \
+ ! -f inputs/openssl-$OPENSSL_VER-win32-utils.zip ];
then
- echo
- echo "****** Starting Tor Component of Windows Bundle (1/4 for Windows) ******"
- echo
+ echo
+ echo "****** Starting Utilities Component of Windows Bundle (1/5 for Windows) ******"
+ echo
- ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit zlib=$ZLIB_TAG,libevent=$LIBEVENT_TAG,tor=$TOR_TAG $DESCRIPTOR_DIR/windows/gitian-tor.yml
+ ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit zlib=$ZLIB_TAG,libevent=$LIBEVENT_TAG $DESCRIPTOR_DIR/windows/gitian-utils.yml
+ if [ $? -ne 0 ];
+ then
+ #mv var/build.log ./utils-fail-win.log.`date +%Y%m%d%H%M%S`
+ exit 1
+ fi
+
+ cd inputs
+ cp -a ../build/out/*-utils.zip .
+ ln -sf binutils-$BINUTILS_VER-win32-utils.zip binutils-win32-utils.zip
+ ln -sf mingw-w64-$GCC_VER-win32-utils.zip mingw-w64-win32-utils.zip
+ ln -sf zlib-${ZLIB_TAG_ORIG#v}-win32-utils.zip zlib-win32-utils.zip
+ ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-win32-utils.zip libevent-win32-utils.zip
+ ln -sf openssl-$OPENSSL_VER-win32-utils.zip openssl-win32-utils.zip
+ cd ..
+ #cp -a result/utils-win-res.yml inputs/
+else
+ echo
+ echo "****** SKIPPING already built Utilities Component of Windows Bundle (1/5 for Windows) ******"
+ echo
+ # We might have built the utilities in the past but maybe the links are
+ # pointing to the wrong version. Refresh them.
+ cd inputs
+ ln -sf binutils-$BINUTILS_VER-win32-utils.zip binutils-win32-utils.zip
+ ln -sf mingw-w64-$GCC_VER-win32-utils.zip mingw-w64-win32-utils.zip
+ ln -sf zlib-${ZLIB_TAG_ORIG#v}-win32-utils.zip zlib-win32-utils.zip
+ ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-win32-utils.zip libevent-win32-utils.zip
+ ln -sf openssl-$OPENSSL_VER-win32-utils.zip openssl-win32-utils.zip
+ cd ..
+fi
+
+if [ ! -f inputs/tor-win32-gbuilt.zip ];
+then
+ echo
+ echo "****** Starting Tor Component of Windows Bundle (2/5 for Windows) ******"
+ echo
+
+ ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit tor=$TOR_TAG $DESCRIPTOR_DIR/windows/gitian-tor.yml
if [ $? -ne 0 ];
then
#mv var/build.log ./tor-fail-win32.log.`date +%Y%m%d%H%M%S`
exit 1
fi
-
- cp -a build/out/tor-win32-gbuilt.zip $GITIAN_DIR/inputs/
- #cp -a result/tor-windows-res.yml $GITIAN_DIR/inputs/
+
+ cp -a build/out/tor-win32-gbuilt.zip inputs/
+ #cp -a result/tor-windows-res.yml inputs/
else
- echo
- echo "****** SKIPPING already built Tor Component of Windows Bundle (1/4 for Windows) ******"
- echo
+ echo
+ echo "****** SKIPPING already built Tor Component of Windows Bundle (2/5 for Windows) ******"
+ echo
fi
-if [ ! -f $GITIAN_DIR/inputs/tor-browser-win32-gbuilt.zip ];
+if [ ! -f inputs/tor-browser-win32-gbuilt.zip ];
then
- echo
- echo "****** Starting Torbrowser Component of Windows Bundle (2/4 for Windows) ******"
- echo
+ echo
+ echo "****** Starting Torbrowser Component of Windows Bundle (3/5 for Windows) ******"
+ echo
./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit tor-browser=$TORBROWSER_TAG $DESCRIPTOR_DIR/windows/gitian-firefox.yml
if [ $? -ne 0 ];
@@ -129,19 +175,19 @@ then
exit 1
fi
- cp -a build/out/tor-browser-win32-gbuilt.zip $GITIAN_DIR/inputs/
- #cp -a result/torbrowser-windows-res.yml $GITIAN_DIR/inputs/
+ cp -a build/out/tor-browser-win32-gbuilt.zip inputs/
+ #cp -a result/torbrowser-windows-res.yml inputs/
else
- echo
- echo "****** SKIPPING already built Torbrowser Component of Windows Bundle (2/4 for Windows) ******"
- echo
+ echo
+ echo "****** SKIPPING already built Torbrowser Component of Windows Bundle (3/5 for Windows) ******"
+ echo
fi
-if [ ! -f $GITIAN_DIR/inputs/pluggable-transports-win32-gbuilt.zip ];
+if [ ! -f inputs/pluggable-transports-win32-gbuilt.zip ];
then
- echo
- echo "****** Starting Pluggable Transports Component of Windows Bundle (3/4 for Windows) ******"
- echo
+ echo
+ echo "****** Starting Pluggable Transports Component of Windows Bundle (4/5 for Windows) ******"
+ echo
./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG $DESCRIPTOR_DIR/windows/gitian-pluggable-transports.yml
if [ $? -ne 0 ];
@@ -150,42 +196,39 @@ then
exit 1
fi
- cp -a build/out/pluggable-transports-win32-gbuilt.zip $GITIAN_DIR/inputs/
- #cp -a result/pluggable-transports-windows-res.yml $GITIAN_DIR/inputs/
+ cp -a build/out/pluggable-transports-win32-gbuilt.zip inputs/
+ #cp -a result/pluggable-transports-windows-res.yml inputs/
else
- echo
- echo "****** SKIPPING already built Pluggable Transports Component of Windows Bundle (3/4 for Windows) ******"
- echo
+ echo
+ echo "****** SKIPPING already built Pluggable Transports Component of Windows Bundle (4/5 for Windows) ******"
+ echo
fi
-if [ ! -f $GITIAN_DIR/inputs/bundle-windows.gbuilt ];
-then
- echo
- echo "****** Starting Bundling+Localization of Windows Bundle (4/4 for Windows) ******"
- echo
-
- cp -a $WRAPPER_DIR/$VERSIONS_FILE $GITIAN_DIR/inputs/versions
+if [ ! -f inputs/bundle-windows.gbuilt ];
+then
+ echo
+ echo "****** Starting Bundling+Localization of Windows Bundle (5/5 for Windows) ******"
+ echo
+
cd $WRAPPER_DIR && ./record-inputs.sh $VERSIONS_FILE && cd $GITIAN_DIR
-
+
./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit https-everywhere=$HTTPSE_TAG,torbutton=$TORBUTTON_TAG,tor-launcher=$TORLAUNCHER_TAG,tbb-windows-installer=$NSIS_TAG $DESCRIPTOR_DIR/windows/gitian-bundle.yml
if [ $? -ne 0 ];
then
#mv var/build.log ./bundle-fail-win32.log.`date +%Y%m%d%H%M%S`
exit 1
fi
-
+
mkdir -p $WRAPPER_DIR/$TORBROWSER_VERSION/
cp -a build/out/*.exe $WRAPPER_DIR/$TORBROWSER_VERSION/ || exit 1
- touch $GITIAN_DIR/inputs/bundle-windows.gbuilt
+ touch inputs/bundle-windows.gbuilt
else
- echo
- echo "****** SKIPPING Bundling+Localization of Windows Bundle (4/4 for Windows) ******"
- echo
+ echo
+ echo "****** SKIPPING Bundling+Localization of Windows Bundle (5/5 for Windows) ******"
+ echo
fi
-echo
+echo
echo "****** Windows Bundle complete ******"
-echo
-
-# FIXME: docs
+echo
1
0

[tor-browser/tor-browser-24.5.0esr-1] fixup! Tor Browser's official .mozconfigs.
by mikeperry@torproject.org 08 May '14
by mikeperry@torproject.org 08 May '14
08 May '14
commit 5de848c3020ce157c8743af710dea282f22202d4
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Thu May 8 05:48:10 2014 -0700
fixup! Tor Browser's official .mozconfigs.
Bug 11816: We don't need to specify a path to MIDL anymore.
---
.mozconfig-mingw | 1 -
1 file changed, 1 deletion(-)
diff --git a/.mozconfig-mingw b/.mozconfig-mingw
index 2cfcf09..78f9a06 100644
--- a/.mozconfig-mingw
+++ b/.mozconfig-mingw
@@ -1,6 +1,5 @@
#Specify the cross compile
export CROSS_COMPILE=1
-export MIDL=/usr/bin/i686-w64-mingw32-widl
ac_add_options --enable-application=browser
ac_add_options --target=i686-w64-mingw32
1
0

[tor-browser/tor-browser-24.5.0esr-1] fixup! Tor Browser's Firefox preference overrides.
by mikeperry@torproject.org 08 May '14
by mikeperry@torproject.org 08 May '14
08 May '14
commit 90a58a42063dcd56e29435656237bf4b976d83b8
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Thu May 8 05:51:11 2014 -0700
fixup! Tor Browser's Firefox preference overrides.
Bug 11817: Don't send startup time information to Mozilla.
---
browser/app/profile/000-tor-browser.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index 4198843..b6b9252 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -49,6 +49,7 @@ pref("browser.syncPromoViewsLeftMap", "{\"addons\":0, \"passwords\":0, \"bookmar
pref("services.sync.engine.prefs", false); // Never sync prefs, addons, or tabs with other browsers
pref("services.sync.engine.addons", false);
pref("services.sync.engine.tabs", false);
+pref("extensions.getAddons.cache.enabled", false); // https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/
// Fingerprinting
pref("webgl.min_capability_mode", true);
1
0

[tor-browser-bundle/master] Revert stable twisted hash back to 13.1.0.
by mikeperry@torproject.org 08 May '14
by mikeperry@torproject.org 08 May '14
08 May '14
commit 74f1f46a0267e75ee4fcfa27b41ed9b07ffc0290
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Thu May 8 04:54:06 2014 -0700
Revert stable twisted hash back to 13.1.0.
---
gitian/versions | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gitian/versions b/gitian/versions
index c436fe4..8f939f7 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -81,7 +81,7 @@ PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
PYYAML_HASH=c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8
ZOPEINTERFACE_HASH=1a7c84716bbd9981915b64a81d8a3f076a5934a8c8df4224655469b3564940cc
-TWISTED_HASH=095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3
+TWISTED_HASH=110e957dd8fc4c6eaba8abe4f0477e60b2873e3cf1c260325863fd2ef69341c6
M2CRYPTO_HASH=25b94498505c2d800ee465db0cc1aff097b1615adc3ac042a1c85ceca264fc0a
PY2EXE_HASH=610a8800de3d973ed5ed4ac505ab42ad058add18a68609ac09e6cf3598ef056c
SETUPTOOLS_HASH=75d288687066ed124311d6ca5f40ffa92a0e81adcd7fff318c6e84082713cf39
1
0

[tor-browser-bundle/master] Add (unused) parsley and txsocksx vars so 'stable' can still build.
by mikeperry@torproject.org 08 May '14
by mikeperry@torproject.org 08 May '14
08 May '14
commit ca0939201a199d95cb522c0ea3eba221227e1901
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Thu May 8 04:46:36 2014 -0700
Add (unused) parsley and txsocksx vars so 'stable' can still build.
It doesn't use them, but the fetch and verify scripts expect them.
---
gitian/versions | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/gitian/versions b/gitian/versions
index c3faa7b..c436fe4 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -20,6 +20,7 @@ OBFSPROXY_TAG=obfsproxy-0.2.4
FLASHPROXY_TAG=1.6
FTEPROXY_TAG=55d81d2f0a4fab759c1ed8aca78dd3a5db6e75c6 # unsigned 0.2.13
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
+TXSOCKSX_TAG=216eb0894a1755872f4789f9458aa6cf543b8433 # unsigned habnabit/1.13.0.2
GITIAN_TAG=tor-browser-builder-3.x-5
@@ -38,6 +39,7 @@ M2CRYPTO_VER=0.21.1
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
LXML_VER=3.3.5
+PARSLEY_VER=1.2
HTTPSE_VER=3.5.1
## File names for the source packages
@@ -63,6 +65,7 @@ M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
+PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
# Hashes for packages with weak sigs or no sigs
OPENSSL_HASH=53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028
@@ -78,10 +81,11 @@ PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
PYYAML_HASH=c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8
ZOPEINTERFACE_HASH=1a7c84716bbd9981915b64a81d8a3f076a5934a8c8df4224655469b3564940cc
-TWISTED_HASH=110e957dd8fc4c6eaba8abe4f0477e60b2873e3cf1c260325863fd2ef69341c6
+TWISTED_HASH=095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3
M2CRYPTO_HASH=25b94498505c2d800ee465db0cc1aff097b1615adc3ac042a1c85ceca264fc0a
PY2EXE_HASH=610a8800de3d973ed5ed4ac505ab42ad058add18a68609ac09e6cf3598ef056c
SETUPTOOLS_HASH=75d288687066ed124311d6ca5f40ffa92a0e81adcd7fff318c6e84082713cf39
+PARSLEY_HASH=50d30cee70770fd44db7cea421cb2fb75af247c3a1cd54885c06b30a7c85dd23
## Non-git package URLs
OPENSSL_URL=https://www.openssl.org/source/${OPENSSL_PACKAGE}
@@ -105,3 +109,4 @@ M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_…
PY2EXE_URL=http://softlayer-dal.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
+PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PACKAGE}
1
0

[tor-browser-bundle/master] Document txsocksx commit version.
by mikeperry@torproject.org 08 May '14
by mikeperry@torproject.org 08 May '14
08 May '14
commit ca9d7cc1990d9bf75f4a9819c4dc9014e934583b
Author: Mike Perry <mikeperry-git(a)torproject.org>
Date: Thu May 8 04:43:21 2014 -0700
Document txsocksx commit version.
---
gitian/versions.beta | 2 +-
gitian/versions.nightly | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/gitian/versions.beta b/gitian/versions.beta
index d10c87a..1f30a41 100755
--- a/gitian/versions.beta
+++ b/gitian/versions.beta
@@ -20,7 +20,7 @@ OBFSPROXY_TAG=obfsproxy-0.2.9
FLASHPROXY_TAG=1.6
FTEPROXY_TAG=55d81d2f0a4fab759c1ed8aca78dd3a5db6e75c6 # unsigned 0.2.13
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
-TXSOCKSX_TAG=216eb0894a1755872f4789f9458aa6cf543b8433
+TXSOCKSX_TAG=216eb0894a1755872f4789f9458aa6cf543b8433 # unsigned habnabit/1.13.0.2
GITIAN_TAG=tor-browser-builder-3.x-5
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index 635fa70..93ee6a7 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -20,7 +20,7 @@ OBFSPROXY_TAG=master
FLASHPROXY_TAG=master
FTEPROXY_TAG=master
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
-TXSOCKSX_TAG=216eb0894a1755872f4789f9458aa6cf543b8433
+TXSOCKSX_TAG=216eb0894a1755872f4789f9458aa6cf543b8433 # unsigned habnabit/1.13.0.2
GITIAN_TAG=tor-browser-builder-3.x-5
1
0

[tor-browser-bundle/master] Extract Libevent version properly; code clean-up.
by gk@torproject.org 08 May '14
by gk@torproject.org 08 May '14
08 May '14
commit b0e00cbdc9af37becdb4fba568e9fb7218fdda03
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu May 8 12:23:55 2014 +0000
Extract Libevent version properly; code clean-up.
---
gitian/descriptors/linux/gitian-utils.yml | 7 +++----
gitian/mkbundle-linux.sh | 14 ++++++--------
2 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/gitian/descriptors/linux/gitian-utils.yml b/gitian/descriptors/linux/gitian-utils.yml
index 427e69b..9bbae76 100644
--- a/gitian/descriptors/linux/gitian-utils.yml
+++ b/gitian/descriptors/linux/gitian-utils.yml
@@ -89,14 +89,13 @@ script: |
$INSTDIR/python/bin/python2.7 setup.py build
cd build/lib*
~/build/dzip.sh lxml-$LXML_VER-linux$GBUILD_BITS-utils.zip lxml
- cp *-utils.zip $OUTDIR
+ cp *utils.zip $OUTDIR
cd ../../../
# Grabbing the remaining results
cd $INSTDIR
~/build/dzip.sh openssl-$OPENSSL_VER-linux$GBUILD_BITS-utils.zip openssl
- # TODO: It is not guaranteed we have a X.X.XX-style version.
- ~/build/dzip.sh libevent-${LIBEVENT_TAG:8:6}-linux$GBUILD_BITS-utils.zip libevent
+ ~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-linux$GBUILD_BITS-utils.zip libevent
~/build/dzip.sh python-$PYTHON_VER-linux$GBUILD_BITS-utils.zip python
- cp $INSTDIR/*-utils.zip $OUTDIR/
+ cp *utils.zip $OUTDIR/
diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh
index d6186d2..4c9de72 100755
--- a/gitian/mkbundle-linux.sh
+++ b/gitian/mkbundle-linux.sh
@@ -100,8 +100,8 @@ cd $GITIAN_DIR
if [ ! -f inputs/openssl-$OPENSSL_VER-linux32-utils.zip -o \
! -f inputs/openssl-$OPENSSL_VER-linux64-utils.zip -o \
- ! -f inputs/libevent-${LIBEVENT_TAG_ORIG:8:6}-linux32-utils.zip -o \
- ! -f inputs/libevent-${LIBEVENT_TAG_ORIG:8:6}-linux64-utils.zip -o \
+ ! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-linux32-utils.zip -o \
+ ! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip -o \
! -f inputs/python-$PYTHON_VER-linux32-utils.zip -o \
! -f inputs/python-$PYTHON_VER-linux64-utils.zip -o \
! -f inputs/lxml-$LXML_VER-linux32-utils.zip -o \
@@ -122,9 +122,8 @@ then
cp -a ../build/out/*-utils.zip .
ln -sf openssl-$OPENSSL_VER-linux32-utils.zip openssl-linux32-utils.zip
ln -sf openssl-$OPENSSL_VER-linux64-utils.zip openssl-linux64-utils.zip
- # TODO: It is not guaranteed we have a X.X.XX-style version.
- ln -sf libevent-${LIBEVENT_TAG_ORIG:8:6}-linux32-utils.zip libevent-linux32-utils.zip
- ln -sf libevent-${LIBEVENT_TAG_ORIG:8:6}-linux64-utils.zip libevent-linux64-utils.zip
+ ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux32-utils.zip libevent-linux32-utils.zip
+ ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip libevent-linux64-utils.zip
ln -sf python-$PYTHON_VER-linux32-utils.zip python-linux32-utils.zip
ln -sf python-$PYTHON_VER-linux64-utils.zip python-linux64-utils.zip
ln -sf lxml-$LXML_VER-linux32-utils.zip lxml-linux32-utils.zip
@@ -140,9 +139,8 @@ else
cd inputs
ln -sf openssl-$OPENSSL_VER-linux32-utils.zip openssl-linux32-utils.zip
ln -sf openssl-$OPENSSL_VER-linux64-utils.zip openssl-linux64-utils.zip
- # TODO: It is not guaranteed we have a X.X.XX-style version.
- ln -sf libevent-${LIBEVENT_TAG_ORIG:8:6}-linux32-utils.zip libevent-linux32-utils.zip
- ln -sf libevent-${LIBEVENT_TAG_ORIG:8:6}-linux64-utils.zip libevent-linux64-utils.zip
+ ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux32-utils.zip libevent-linux32-utils.zip
+ ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip libevent-linux64-utils.zip
ln -sf python-$PYTHON_VER-linux32-utils.zip python-linux32-utils.zip
ln -sf python-$PYTHON_VER-linux64-utils.zip python-linux64-utils.zip
ln -sf lxml-$LXML_VER-linux32-utils.zip lxml-linux32-utils.zip
1
0

[tor-browser-bundle/master] Rebased Yawning's patch to fix build bustage.
by gk@torproject.org 08 May '14
by gk@torproject.org 08 May '14
08 May '14
commit c4554e3f021c66729cebaff5c320da61cfc7b895
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu May 8 10:44:55 2014 +0000
Rebased Yawning's patch to fix build bustage.
---
gitian/patches/bug8402-master.patch | 112 ++++++++++++++++++-----------------
1 file changed, 58 insertions(+), 54 deletions(-)
diff --git a/gitian/patches/bug8402-master.patch b/gitian/patches/bug8402-master.patch
index 33d6e20..d5e7b37 100644
--- a/gitian/patches/bug8402-master.patch
+++ b/gitian/patches/bug8402-master.patch
@@ -1,4 +1,4 @@
-From 7476a5c00aabdb2b2b4cd29f3029a7fa3afc657d Mon Sep 17 00:00:00 2001
+From 2c9bcdf79a9ba98b79feba10a8000f5609de36e6 Mon Sep 17 00:00:00 2001
From: Yawning Angel <yawning(a)schwanenlied.me>
Date: Tue, 25 Mar 2014 07:21:22 +0000
Subject: [PATCH 1/5] Allow ClientTransportPlugins to use proxies
@@ -17,10 +17,10 @@ This fixes bug #8402.
5 files changed, 258 insertions(+), 27 deletions(-)
diff --git a/src/or/config.c b/src/or/config.c
-index da6aec0..91e8410 100644
+index 1faf138..614e779 100644
--- a/src/or/config.c
+++ b/src/or/config.c
-@@ -535,7 +535,9 @@ static int options_transition_affects_descriptor(
+@@ -536,7 +536,9 @@ static int options_transition_affects_descriptor(
const or_options_t *old_options, const or_options_t *new_options);
static int check_nickname_list(char **lst, const char *name, char **msg);
@@ -31,7 +31,7 @@ index da6aec0..91e8410 100644
static int parse_server_transport_line(const char *line, int validate_only);
static char *get_bindaddr_from_transport_listen_line(const char *line,
-@@ -1399,7 +1401,7 @@ options_act(const or_options_t *old_options)
+@@ -1426,7 +1428,7 @@ options_act(const or_options_t *old_options)
pt_prepare_proxy_list_for_config_read();
if (options->ClientTransportPlugin) {
for (cl = options->ClientTransportPlugin; cl; cl = cl->next) {
@@ -40,7 +40,7 @@ index da6aec0..91e8410 100644
log_warn(LD_BUG,
"Previously validated ClientTransportPlugin line "
"could not be added!");
-@@ -3120,11 +3122,11 @@ options_validate(or_options_t *old_options, or_options_t *options,
+@@ -3169,11 +3171,11 @@ options_validate(or_options_t *old_options, or_options_t *options,
}
}
@@ -55,7 +55,7 @@ index da6aec0..91e8410 100644
/* Check if the proxies will give surprising behavior. */
if (options->HTTPProxy && !(options->Socks4Proxy ||
-@@ -3237,7 +3239,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
+@@ -3284,7 +3286,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
}
for (cl = options->ClientTransportPlugin; cl; cl = cl->next) {
@@ -64,7 +64,7 @@ index da6aec0..91e8410 100644
REJECT("Transport line did not parse. See logs for details.");
}
-@@ -4609,7 +4611,8 @@ parse_bridge_line(const char *line)
+@@ -4734,7 +4736,8 @@ parse_bridge_line(const char *line)
* our internal transport list.
* - If it's a managed proxy line, launch the managed proxy. */
static int
@@ -74,7 +74,7 @@ index da6aec0..91e8410 100644
{
smartlist_t *items = NULL;
int r;
-@@ -4700,6 +4703,13 @@ parse_client_transport_line(const char *line, int validate_only)
+@@ -4825,6 +4828,13 @@ parse_client_transport_line(const char *line, int validate_only)
pt_kickstart_client_proxy(transport_list, proxy_argv);
}
} else { /* external */
@@ -89,7 +89,7 @@ index da6aec0..91e8410 100644
log_warn(LD_CONFIG, "You can't have an external proxy with "
"more than one transports.");
diff --git a/src/or/connection.c b/src/or/connection.c
-index 8c697d6..93d164c 100644
+index 3cc4e09..a9c5596 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -86,6 +86,8 @@ static int connection_read_https_proxy_response(connection_t *conn);
@@ -101,7 +101,7 @@ index 8c697d6..93d164c 100644
/** The last addresses that our network interface seemed to have been
* binding to. We use this as one way to detect when our IP changes.
-@@ -1671,14 +1673,14 @@ get_proxy_type(void)
+@@ -1689,14 +1691,14 @@ get_proxy_type(void)
{
const or_options_t *options = get_options();
@@ -119,7 +119,7 @@ index 8c697d6..93d164c 100644
else
return PROXY_NONE;
}
-@@ -4733,6 +4735,35 @@ assert_connection_ok(connection_t *conn, time_t now)
+@@ -4771,6 +4773,35 @@ assert_connection_ok(connection_t *conn, time_t now)
}
/** Fills <b>addr</b> and <b>port</b> with the details of the global
@@ -155,7 +155,7 @@ index 8c697d6..93d164c 100644
* proxy server we are using.
* <b>conn</b> contains the connection we are using the proxy for.
*
-@@ -4744,6 +4775,16 @@ get_proxy_addrport(tor_addr_t *addr, uint16_t *port, int *proxy_type,
+@@ -4782,6 +4813,16 @@ get_proxy_addrport(tor_addr_t *addr, uint16_t *port, int *proxy_type,
{
const or_options_t *options = get_options();
@@ -172,7 +172,7 @@ index 8c697d6..93d164c 100644
if (options->HTTPSProxy) {
tor_addr_copy(addr, &options->HTTPSProxyAddr);
*port = options->HTTPSProxyPort;
-@@ -4759,19 +4800,8 @@ get_proxy_addrport(tor_addr_t *addr, uint16_t *port, int *proxy_type,
+@@ -4797,19 +4838,8 @@ get_proxy_addrport(tor_addr_t *addr, uint16_t *port, int *proxy_type,
*port = options->Socks5ProxyPort;
*proxy_type = PROXY_SOCKS5;
return 0;
@@ -193,12 +193,12 @@ index 8c697d6..93d164c 100644
+ return get_bridge_pt_addrport(addr, port, proxy_type, conn);
}
- *proxy_type = PROXY_NONE;
+ tor_addr_make_unspec(addr);
diff --git a/src/or/transports.c b/src/or/transports.c
-index 8b4a118..8e82a41 100644
+index dc30754..b810315 100644
--- a/src/or/transports.c
+++ b/src/or/transports.c
-@@ -122,6 +122,8 @@ static INLINE void free_execve_args(char **arg);
+@@ -124,6 +124,8 @@ static INLINE void free_execve_args(char **arg);
#define PROTO_SMETHOD_ERROR "SMETHOD-ERROR"
#define PROTO_CMETHODS_DONE "CMETHODS DONE"
#define PROTO_SMETHODS_DONE "SMETHODS DONE"
@@ -207,7 +207,7 @@ index 8b4a118..8e82a41 100644
/** The first and only supported - at the moment - configuration
protocol version. */
-@@ -437,6 +439,17 @@ add_transport_to_proxy(const char *transport, managed_proxy_t *mp)
+@@ -439,6 +441,17 @@ add_transport_to_proxy(const char *transport, managed_proxy_t *mp)
static int
proxy_needs_restart(const managed_proxy_t *mp)
{
@@ -225,7 +225,7 @@ index 8b4a118..8e82a41 100644
/* mp->transport_to_launch is populated with the names of the
transports that must be launched *after* the SIGHUP.
mp->transports is populated with the transports that were
-@@ -457,10 +470,10 @@ proxy_needs_restart(const managed_proxy_t *mp)
+@@ -459,10 +472,10 @@ proxy_needs_restart(const managed_proxy_t *mp)
} SMARTLIST_FOREACH_END(t);
@@ -240,7 +240,7 @@ index 8b4a118..8e82a41 100644
}
/** Managed proxy <b>mp</b> must be restarted. Do all the necessary
-@@ -491,6 +504,11 @@ proxy_prepare_for_restart(managed_proxy_t *mp)
+@@ -493,6 +506,11 @@ proxy_prepare_for_restart(managed_proxy_t *mp)
SMARTLIST_FOREACH(mp->transports, transport_t *, t, transport_free(t));
smartlist_clear(mp->transports);
@@ -252,7 +252,7 @@ index 8b4a118..8e82a41 100644
/* flag it as an infant proxy so that it gets launched on next tick */
mp->conf_state = PT_PROTO_INFANT;
unconfigured_proxies_n++;
-@@ -725,12 +743,52 @@ managed_proxy_destroy(managed_proxy_t *mp,
+@@ -727,12 +745,52 @@ managed_proxy_destroy(managed_proxy_t *mp,
/* free the argv */
free_execve_args(mp->argv);
@@ -305,7 +305,7 @@ index 8b4a118..8e82a41 100644
/** Handle a configured or broken managed proxy <b>mp</b>. */
static void
handle_finished_proxy(managed_proxy_t *mp)
-@@ -743,6 +801,12 @@ handle_finished_proxy(managed_proxy_t *mp)
+@@ -745,6 +803,12 @@ handle_finished_proxy(managed_proxy_t *mp)
managed_proxy_destroy(mp, 0); /* destroy it but don't terminate */
break;
case PT_PROTO_CONFIGURED: /* if configured correctly: */
@@ -318,7 +318,7 @@ index 8b4a118..8e82a41 100644
register_proxy(mp); /* register its transports */
mp->conf_state = PT_PROTO_COMPLETED; /* and mark it as completed. */
break;
-@@ -860,6 +924,22 @@ handle_proxy_line(const char *line, managed_proxy_t *mp)
+@@ -862,6 +926,22 @@ handle_proxy_line(const char *line, managed_proxy_t *mp)
goto err;
return;
@@ -341,7 +341,7 @@ index 8b4a118..8e82a41 100644
} else if (!strcmpstart(line, SPAWN_ERROR_MESSAGE)) {
/* managed proxy launch failed: parse error message to learn why. */
int retval, child_state, saved_errno;
-@@ -1126,6 +1206,21 @@ parse_cmethod_line(const char *line, managed_proxy_t *mp)
+@@ -1128,6 +1208,21 @@ parse_cmethod_line(const char *line, managed_proxy_t *mp)
return r;
}
@@ -363,7 +363,7 @@ index 8b4a118..8e82a41 100644
/** Return a newly allocated string that tor should place in
* TOR_PT_SERVER_TRANSPORT_OPTIONS while configuring the server
* manged proxy in <b>mp</b>. Return NULL if no such options are found. */
-@@ -1286,6 +1381,14 @@ create_managed_proxy_environment(const managed_proxy_t *mp)
+@@ -1292,6 +1387,14 @@ create_managed_proxy_environment(const managed_proxy_t *mp)
} else {
smartlist_add_asprintf(envs, "TOR_PT_EXTENDED_SERVER_PORT=");
}
@@ -378,7 +378,7 @@ index 8b4a118..8e82a41 100644
}
SMARTLIST_FOREACH_BEGIN(envs, const char *, env_var) {
-@@ -1318,6 +1421,7 @@ managed_proxy_create(const smartlist_t *transport_list,
+@@ -1324,6 +1427,7 @@ managed_proxy_create(const smartlist_t *transport_list,
mp->is_server = is_server;
mp->argv = proxy_argv;
mp->transports = smartlist_new();
@@ -387,7 +387,7 @@ index 8b4a118..8e82a41 100644
mp->transports_to_launch = smartlist_new();
SMARTLIST_FOREACH(transport_list, const char *, transport,
diff --git a/src/or/transports.h b/src/or/transports.h
-index 7b524f2..5b8144b 100644
+index 1365ead..bc2331d 100644
--- a/src/or/transports.h
+++ b/src/or/transports.h
@@ -81,6 +81,9 @@ typedef struct {
@@ -418,11 +418,11 @@ index 7b524f2..5b8144b 100644
#endif
diff --git a/src/test/test_pt.c b/src/test/test_pt.c
-index 3277921..ada8dbe 100644
+index f71627d..788d420 100644
--- a/src/test/test_pt.c
+++ b/src/test/test_pt.c
-@@ -435,6 +435,85 @@ test_pt_configure_proxy(void *arg)
- }
+@@ -450,6 +450,85 @@ test_pt_configure_proxy(void *arg)
+ tor_free(mp);
}
+/* Test the get_pt_proxy_uri() function. */
@@ -507,7 +507,7 @@ index 3277921..ada8dbe 100644
#define PT_LEGACY(name) \
{ #name, legacy_test_helper, 0, &legacy_setup, test_pt_ ## name }
-@@ -447,6 +526,8 @@ struct testcase_t pt_tests[] = {
+@@ -462,6 +541,8 @@ struct testcase_t pt_tests[] = {
NULL, NULL },
{ "configure_proxy",test_pt_configure_proxy, TT_FORK,
NULL, NULL },
@@ -517,9 +517,10 @@ index 3277921..ada8dbe 100644
};
--
-1.8.1.2
+2.0.0.rc0
+
-From bc59556e87a0b0ebaf2adfc57147522f05b3f974 Mon Sep 17 00:00:00 2001
+From d1f3631335cc2757e2319055348a1614a00fa7b2 Mon Sep 17 00:00:00 2001
From: Yawning Angel <yawning(a)schwanenlied.me>
Date: Mon, 14 Apr 2014 21:51:34 +0000
Subject: [PATCH 2/5] Fixed the test build with --enable-gcc-warnings
@@ -529,10 +530,10 @@ Subject: [PATCH 2/5] Fixed the test build with --enable-gcc-warnings
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/src/test/test_pt.c b/src/test/test_pt.c
-index ada8dbe..ac604eb 100644
+index 788d420..cfbd084 100644
--- a/src/test/test_pt.c
+++ b/src/test/test_pt.c
-@@ -449,7 +449,7 @@ test_get_pt_proxy_uri(void *arg)
+@@ -464,7 +464,7 @@ test_get_pt_proxy_uri(void *arg)
tt_assert(uri == NULL);
/* Test with a SOCKS4 proxy. */
@@ -541,7 +542,7 @@ index ada8dbe..ac604eb 100644
ret = tor_addr_port_lookup(options->Socks4Proxy,
&options->Socks4ProxyAddr,
&options->Socks4ProxyPort);
-@@ -457,11 +457,10 @@ test_get_pt_proxy_uri(void *arg)
+@@ -472,11 +472,10 @@ test_get_pt_proxy_uri(void *arg)
uri = get_pt_proxy_uri();
tt_str_op(uri, ==, "socks4a://192.0.2.1:1080");
tor_free(uri);
@@ -555,7 +556,7 @@ index ada8dbe..ac604eb 100644
ret = tor_addr_port_lookup(options->Socks5Proxy,
&options->Socks5ProxyAddr,
&options->Socks5ProxyPort);
-@@ -471,16 +470,17 @@ test_get_pt_proxy_uri(void *arg)
+@@ -486,16 +485,17 @@ test_get_pt_proxy_uri(void *arg)
tor_free(uri);
/* Test with a SOCKS5 proxy, with username/password. */
@@ -578,7 +579,7 @@ index ada8dbe..ac604eb 100644
ret = tor_addr_port_lookup(options->HTTPSProxy,
&options->HTTPSProxyAddr,
&options->HTTPSProxyPort);
-@@ -490,15 +490,15 @@ test_get_pt_proxy_uri(void *arg)
+@@ -505,15 +505,15 @@ test_get_pt_proxy_uri(void *arg)
tor_free(uri);
/* Test with a HTTPS proxy, with authenticator. */
@@ -598,7 +599,7 @@ index ada8dbe..ac604eb 100644
ret = tor_addr_port_lookup(options->Socks4Proxy,
&options->Socks4ProxyAddr,
&options->Socks4ProxyPort);
-@@ -506,7 +506,7 @@ test_get_pt_proxy_uri(void *arg)
+@@ -521,7 +521,7 @@ test_get_pt_proxy_uri(void *arg)
uri = get_pt_proxy_uri();
tt_str_op(uri, ==, "socks4a://[2001:db8::1]:1080");
tor_free(uri);
@@ -608,9 +609,10 @@ index ada8dbe..ac604eb 100644
done:
if (uri)
--
-1.8.1.2
+2.0.0.rc0
-From 3c991178926f39ffacef1d86e403f5d360d30404 Mon Sep 17 00:00:00 2001
+
+From e2b63cda85ba08b1675c7cf376d21700ca34bcf5 Mon Sep 17 00:00:00 2001
From: Yawning Angel <yawning(a)schwanenlied.me>
Date: Thu, 1 May 2014 03:30:09 +0000
Subject: [PATCH 3/5] Remove get_bridge_pt_addrport().
@@ -627,7 +629,7 @@ being used, it is PT/proxy-less.
1 file changed, 12 insertions(+), 34 deletions(-)
diff --git a/src/or/connection.c b/src/or/connection.c
-index 93d164c..9a766d6 100644
+index a9c5596..4bb2683 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -86,8 +86,6 @@ static int connection_read_https_proxy_response(connection_t *conn);
@@ -639,7 +641,7 @@ index 93d164c..9a766d6 100644
/** The last addresses that our network interface seemed to have been
* binding to. We use this as one way to detect when our IP changes.
-@@ -4735,35 +4733,6 @@ assert_connection_ok(connection_t *conn, time_t now)
+@@ -4773,35 +4771,6 @@ assert_connection_ok(connection_t *conn, time_t now)
}
/** Fills <b>addr</b> and <b>port</b> with the details of the global
@@ -675,7 +677,7 @@ index 93d164c..9a766d6 100644
* proxy server we are using.
* <b>conn</b> contains the connection we are using the proxy for.
*
-@@ -4781,8 +4750,19 @@ get_proxy_addrport(tor_addr_t *addr, uint16_t *port, int *proxy_type,
+@@ -4819,8 +4788,19 @@ get_proxy_addrport(tor_addr_t *addr, uint16_t *port, int *proxy_type,
* the config to have unused ClientTransportPlugin entries.
*/
if (options->ClientTransportPlugin) {
@@ -696,7 +698,7 @@ index 93d164c..9a766d6 100644
}
if (options->HTTPSProxy) {
-@@ -4800,8 +4780,6 @@ get_proxy_addrport(tor_addr_t *addr, uint16_t *port, int *proxy_type,
+@@ -4838,8 +4818,6 @@ get_proxy_addrport(tor_addr_t *addr, uint16_t *port, int *proxy_type,
*port = options->Socks5ProxyPort;
*proxy_type = PROXY_SOCKS5;
return 0;
@@ -704,11 +706,12 @@ index 93d164c..9a766d6 100644
- return get_bridge_pt_addrport(addr, port, proxy_type, conn);
}
- *proxy_type = PROXY_NONE;
+ tor_addr_make_unspec(addr);
--
-1.8.1.2
+2.0.0.rc0
+
-From c4c41bb8e31ab39f2c7fe3c8f11ee727a65c3e09 Mon Sep 17 00:00:00 2001
+From ae0174c6e1da1051403c51fa881f66d57cc22acd Mon Sep 17 00:00:00 2001
From: Yawning Angel <yawning(a)schwanenlied.me>
Date: Thu, 1 May 2014 03:43:53 +0000
Subject: [PATCH 4/5] Log the correct proxy type on failure.
@@ -721,10 +724,10 @@ config.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/or/connection.c b/src/or/connection.c
-index 9a766d6..b2e6a69 100644
+index 4bb2683..cfa6ee5 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
-@@ -4801,7 +4801,7 @@ log_failed_proxy_connection(connection_t *conn)
+@@ -4841,7 +4841,7 @@ log_failed_proxy_connection(connection_t *conn)
log_warn(LD_NET,
"The connection to the %s proxy server at %s just failed. "
"Make sure that the proxy server is up and running.",
@@ -734,9 +737,10 @@ index 9a766d6..b2e6a69 100644
}
--
-1.8.1.2
+2.0.0.rc0
+
-From e3b5b7f4b9e5ef4637f0719d54be9f534e41019c Mon Sep 17 00:00:00 2001
+From 378e6f7f8521ed0c35dc1afc91840117713498fb Mon Sep 17 00:00:00 2001
From: Yawning Angel <yawning(a)schwanenlied.me>
Date: Thu, 1 May 2014 18:58:53 +0000
Subject: [PATCH 5/5] Improve the log message when a transport doesn't support
@@ -749,10 +753,10 @@ does not acknowledge the configured outgoing proxy.
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/or/transports.c b/src/or/transports.c
-index 8e82a41..3991bd3 100644
+index b810315..eee159d 100644
--- a/src/or/transports.c
+++ b/src/or/transports.c
-@@ -803,7 +803,8 @@ handle_finished_proxy(managed_proxy_t *mp)
+@@ -805,7 +805,8 @@ handle_finished_proxy(managed_proxy_t *mp)
case PT_PROTO_CONFIGURED: /* if configured correctly: */
if (mp->proxy_uri && !mp->proxy_supported) {
log_warn(LD_CONFIG, "Managed proxy '%s' did not configure the "
@@ -763,5 +767,5 @@ index 8e82a41..3991bd3 100644
break;
}
--
-1.8.1.2
+2.0.0.rc0
1
0