| Index: crash_sender | 
| diff --git a/crash_sender b/crash_sender | 
| index 10fdf37bfc8fea40db166f1ac8e90894a74fd741..21bd48846dca1eebeb9e2c7220b39e159987260f 100644 | 
| --- a/crash_sender | 
| +++ b/crash_sender | 
| @@ -68,6 +68,9 @@ RESTRICTED_CERTIFICATES_PATH="/usr/share/chromeos-ca-certificates" | 
| # Temp directory for this process. | 
| TMP_DIR="" | 
|  | 
| +# Path to list_proxies. | 
| +LIST_PROXIES="/usr/bin/list_proxies" | 
| + | 
| lecho() { | 
| logger -t "${TAG}" "$@" | 
| } | 
| @@ -258,11 +261,18 @@ send_crash() { | 
| return 1 | 
| fi | 
|  | 
| +  # Read in the first proxy, if any, for a given URL.  NOTE: The | 
| +  # double-quotes are necessary due to a bug in dash with the "local" | 
| +  # builtin command and values that have spaces in them (see | 
| +  # "https://bugs.launchpad.net/ubuntu/+source/dash/+bug/139097"). | 
| +  local proxy="`${LIST_PROXIES} -quiet "${url}" | head -1`" | 
| +  # if a direct connection should be used, unset the proxy variable. | 
| +  [ "${proxy}" = "direct://" ] && proxy= | 
| local report_id="${TMP_DIR}/report_id" | 
| local curl_stderr="${TMP_DIR}/curl_stderr" | 
|  | 
| set +e | 
| -  curl "${url}" \ | 
| +  curl "${url}" ${proxy:+--proxy "$proxy"} \ | 
| --capath "${RESTRICTED_CERTIFICATES_PATH}" --ciphers HIGH \ | 
| -F "prod=${CHROMEOS_PRODUCT}" \ | 
| -F "ver=${chromeos_version}" \ | 
|  |