6. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 10/24/2017 6:38:23 AM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

6.1 Files compared

# Location File Last Modified
1 CHAMP_VA1.zip\CHAMP_VA1\app\node_modules\express\node_modules\proxy-addr README.md Mon Oct 16 21:06:50 2017 UTC
2 CHAMP_VA1.zip\CHAMP_VA1\app\node_modules\express\node_modules\proxy-addr README.md Thu Oct 19 20:03:34 2017 UTC

6.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 272
Changed 1 2
Inserted 0 0
Removed 0 0

6.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

6.4 Active regular expressions

No regular expressions were active.

6.5 Comparison detail

  1   # proxy-ad dr
  2  
  3   [![NPM Ver sion][npm- image]][np m-url]
  4   [![NPM Dow nloads][do wnloads-im age]][down loads-url]
  5   [![Node.js  Version][ node-versi on-image]] [node-vers ion-url]
  6   [![Build S tatus][tra vis-image] ][travis-u rl]
  7   [![Test Co verage][co veralls-im age]][cove ralls-url]
  8  
  9   Determine  address of  proxied r equest
  10  
  11   ## Install
  12  
  13   ```sh
  14   $ npm inst all proxy- addr
  15   ```
  16  
  17   ## API
  18  
  19   ```js
  20   var proxya ddr = requ ire('proxy -addr')
  21   ```
  22  
  23   ### proxya ddr(req, t rust)
  24  
  25   Return the  address o f the requ est, using  the given  `trust` p arameter.
  26  
  27   The `trust ` argument  is a func tion that  returns `t rue` if yo u trust
  28   the addres s, `false`  if you do n't. The c losest unt rusted add ress is
  29   returned.
  30  
  31   ```js
  32   proxyaddr( req, funct ion(addr){  return ad dr === '12 7.0.0.1' } )
  33   proxyaddr( req, funct ion(addr,  i){ return  i < 1 })
  34   ```
  35  
  36   The `trust ` arugment  may also  be a singl e IP addre ss string  or an
  37   array of t rusted add resses, as  plain IP  addresses,  CIDR-form atted
  38   strings, o r IP/netma sk strings .
  39  
  40   ```js
  41   proxyaddr( req, '127. 0.0.1')
  42   proxyaddr( req, ['127 .0.0.0/8',  '10.0.0.0 /8'])
  43   proxyaddr( req, ['127 .0.0.0/255 .0.0.0', ' 192.168.0. 0/255.255. 0.0'])
  44   ```
  45  
  46   This modul e also sup ports IPv6 . Your IPv 6 addresse s will be  normalized
  47   automatica lly (i.e.  `fe80::00e d:1` equal s `fe80:0: 0:0:0:0:ed :1`).
  48  
  49   ```js
  50   proxyaddr( req, '::1' )
  51   proxyaddr( req, ['::1 /128', 'fe 80::/10'])
  52   proxyaddr( req, ['fe8 0::/ffc0:: '])
  53   ```
  54  
  55   This modul e will aut omatically  work with  IPv4-mapp ed IPv6 ad dresses
  56   as well to  support n ode.js in  IPv6-only  mode. This  means tha t you do
  57   not have t o specify  both `::ff ff:a00:1`  and ` IP        `.
  58  
  59   As a conve nience, th is module  also takes  certain p re-defined  names
  60   in additio n to IP ad dresses, w hich expan d into IP  addresses:
  61  
  62   ```js
  63   proxyaddr( req, 'loop back')
  64   proxyaddr( req, ['loo pback', 'f c00:ac:1ab 5:fff::1/6 4'])
  65   ```
  66  
  67     * `loopb ack`: IPv4  and IPv6  loopback a ddresses ( like `::1`  and
  68       `127.0 .0.1`).
  69     * `linkl ocal`: IPv 4 and IPv6  link-loca l addresse s (like
  70       `fe80: :1:1:1:1`  and `169.2 54.0.1`).
  71     * `uniqu elocal`: I Pv4 privat e addresse s and IPv6  unique-lo cal
  72       addres ses (like  `fc00:ac:1 ab5:fff::1 ` and `192 .168.0.1`) .
  73  
  74   When `trus t` is spec ified as a  function,  it will b e called f or each
  75   address to  determine  if it is  a trusted  address. T he functio n is
  76   given two  arguments:  `addr` an d `i`, whe re `addr`  is a strin g of
  77   the addres s to check  and `i` i s a number  that repr esents the  distance
  78   from the s ocket addr ess.
  79  
  80   ### proxya ddr.all(re q, [trust] )
  81  
  82   Return all  the addre sses of th e request,  optionall y stopping  at the
  83   first untr usted. Thi s array is  ordered f rom closes t to furth est
  84   (i.e. `arr [0] === re q.connecti on.remoteA ddress`).
  85  
  86   ```js
  87   proxyaddr. all(req)
  88   ```
  89  
  90   The option al `trust`  argument  takes the  same argum ents as `t rust`
  91   does in `p roxyaddr(r eq, trust) `.
  92  
  93   ```js
  94   proxyaddr. all(req, ' loopback')
  95   ```
  96  
  97   ### proxya ddr.compil e(val)
  98  
  99   Compiles a rgument `v al` into a  `trust` f unction. T his functi on takes
  100   the same a rguments a s `trust`  does in `p roxyaddr(r eq, trust) ` and
  101   returns a  function s uitable fo r `proxyad dr(req, tr ust)`.
  102  
  103   ```js
  104   var trust  = proxyadd r.compile( 'localhost ')
  105   var addr   = proxyadd r(req, tru st)
  106   ```
  107  
  108   This funct ion is mea nt to be o ptimized f or use aga inst every  request.
  109   It is reco mmend to c ompile a t rust funct ion up-fro nt for the  trusted
  110   configurat ion and pa ss that to  `proxyadd r(req, tru st)` for e ach reques t.
  111  
  112   ## Testing
  113  
  114   ```sh
  115   $ npm test
  116   ```
  117  
  118   ## Benchma rks
  119  
  120   ```sh
  121   $ npm run- script ben ch
  122   ```
  123  
  124   ## License
  125  
  126   [MIT](LICE NSE)
  127  
  128   [npm-image ]: https:/ /img.shiel ds.io/npm/ v/proxy-ad dr.svg
  129   [npm-url]:  https://n pmjs.org/p ackage/pro xy-addr
  130   [node-vers ion-image] : https:// img.shield s.io/node/ v/proxy-ad dr.svg
  131   [node-vers ion-url]:  http://nod ejs.org/do wnload/
  132   [travis-im age]: http s://img.sh ields.io/t ravis/jsht tp/proxy-a ddr/master .svg
  133   [travis-ur l]: https: //travis-c i.org/jsht tp/proxy-a ddr
  134   [coveralls -image]: h ttps://img .shields.i o/coverall s/jshttp/p roxy-addr/ master.svg
  135   [coveralls -url]: htt ps://cover alls.io/r/ jshttp/pro xy-addr?br anch=maste r
  136   [downloads -image]: h ttps://img .shields.i o/npm/dm/p roxy-addr. svg
  137   [downloads -url]: htt ps://npmjs .org/packa ge/proxy-a ddr