[antlr-interest] ANTLRWorks user registration and firewalls

Ima Fakeuser ima.fakeuser at yahoo.com
Thu Jan 6 09:14:11 PST 2011


Jim Mayer wrote the following on Mon Jan 18 10:38:00 PST 2010:

> I'm having difficulty getting ANTLRWorks to start up at work.  At home,
> the system works fine.  A quick inspection of the code suggests that the
> problem is that ANTLRWorks tracks usage statistics and insists upon
> getting an "ID" from a site at antlr.org as part of its initial startup
> (this happens even if you ask it to not send information during the
> "Welcome to ANTLRWorks" dialog).
> 
> Has anyone else run into this problem?  I did some web searches and
> didn't see any.

I just started playing around with ANTLR and ran into this same problem
because I'm behind a corporate firewall.
In case it's not obvious to everyone by now, here's the solution.

  java -Dhttp.proxyHost=_your_proxy_._your_domain_.com \
       -Dhttp.proxyPort=_your_proxy_port_number_ \
       -jar antlrworks-1.4.2.jar

As to your privacy concerns, it looks like the registration process sends an 
http request like this:

    GET 
http://www.antlr.org/stats/register?who=0&sector=0&devtool=5&yearslang=2&yearsprog=1&residing=USA&caffeine=coffee&version=1.4.2
 HTTP/1.1
    User-Agent: Java/1.5.0_01
    Host: www.antlr.org
    Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    Proxy-Connection: keep-alive
    Content-type: application/x-www-form-urlencoded

Which will receive a response like this:

    HTTP/1.1 200 OK
    Date: Thu, 06 Jan 2011 16:47:47 GMT
    Cache-Control: no-store
    Expires: Thu, 01 Jan 1970 00:00:00 GMT
    Pragma: no-cache
    Content-Type: text/html; charset=UTF-8
    Via: 1.1 _yourhost_._yourdomain_.com
    Content-Length: 14
    Proxy-Connection: Keep-Alive
    Connection: Keep-Alive
    Set-Cookie: JSESSIONID=_a_large_hex_value_; Path=/

    _a_large_integer_value_

And then it creates the following file:

    $HOME/.java/.userPrefs/org/antlr/works/prefs.xml

Specifically, it creates the item <entry key="PREF_SERVER_ID" 
value="_the_large_integer_value_from_above_"/>
in addition to lots of other XML data.

Then it seems to not talk back to antlr.org unless you do Help->Submit 
Statistics

    GET 
http://www.antlr.org/stats/notify?ID=_the_large_integer_value_from_above_&type=antlrworks&data=1.4.2%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090%090
 HTTP/1.1
    User-Agent: Java/1.5.0_01
    Host: www.antlr.org
    Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    Proxy-Connection: keep-alive
    Content-type: application/x-www-form-urlencoded

There could be other communication that happens, but I didn't look through all 
the code or sniff the wire long enough.

Bottom line, it seems pretty innocuous, but I don't see any compelling reason 
for them to phone home like that.

To prevent unwanted tracking, you could periodically delete antlrworks' 
prefs.xml file.


      


More information about the antlr-interest mailing list