wp.cgi CHANGE Log
Version 1.3.4.1 07 Jan 2007 by bro(at)users.sourforge(dot)net
- modified the regex that gets referral servers from crsnic
- to accept up to 32 char names (was max: 18)
- added a trash boundary to ZapTrash.config
- only in CVS for now
- still need to update SVN for v 1.3.4
Version 1.3.4 06 Jan 2007
- Now generating only HTML 4.01 - I have tried to do pure XHTML 1.1
but the whois servers' output is just too unpredictable for XML. Alan tweaked mailto: link generation
- updates to ZapTrash.cgi and whoislist
- a few other very minor tweaks.
- new package released
Version 1.3.3.2 18 Mar 2006 by bro(at)users.sourforge(dot)net
- Updated and expanded ASN recognition (now goes to 39935 instead of 14335
( thanks for the head-up, Ted!) - updates to ZapTrash.cgi
- a few other very minor tweaks.
- so far only CVS, no package
Version 1.3.3 25 Jul 2005
- Alan added an option to ShowAllResults rather than just those of the final whois server
- John disabled CheckSOA() bcse when it fails we get a blank screen!
- - added a link to IANA.org's info for domains with no whois server
- - updated the whoislist for quite a few CCTLDs.
- - changed the stylesheet - shadowed text for Safari.. others should ignore the change
- v. 1.3.2.2 (no package, cvs only)
- 01 Sep 2004 - minor updates to whoislist (.fi) and ZapTrash.config
- 31 Aug 2004 - Updates to ZapTrash but skipping it for whois.norid.no bcse
%-escaped "no matches" caused subdomain stripping to fail to recurse. - 31 July 2004 - updated IANA-Reserved ip ranges
- added some info for .*.za domains web whois servers to whoislist
- 20 June 2004 - fixed a wrapped line in wp.config.dist (doh!)
- restored auto-trimming .dk in TrimDomains.
Version 1.3.2.1 09 May 2004
- tweaked regexp to catch Referred Whois Server (was failing to match psi-usa.info)
Version 1.3.2
- tweaked socket call to add a switch for whois.DeNic.DE
in order to get more than "available/unavailable" -- (sigh..) - fixed an ugly typo in wp_config.cgi (line 138).
- restored a line (thought redundant) to add /e to non-jp JpNic queries
- tweaks to AccessDenied: no html if cmdline,
- added ACCESS_DENIED message to messages.*.pm
- fixed error in list of Reserved IP Ranges (83/8 -> RIPE)
- blocking calls to rwhois.twtelecom.net (crummy results)
- added several new trash boundaries to ZapTrash.config
- added .gov to Trimmed Domains (only answers for dom.tld)
- added TrashBoundaries for .gov (which is RFC-Ignorant too!)
Version 1.3.1.2 - 19 Jan 2004
- Just after uploading 1.3.1, I caught a flaw in the logic of TrimDomains()
which was failing to strip a 3rd level dom name and requery on DOM.TLD
Reduced min level by 1, and added a control loop to prevent infinit loops.
Version 1.3.1 - 18 Jan 2004
- Bug fixes:
- fixed error detecting whois port (for OSX)
- restored ASN function (oops)
- fixed for caching multilingual output from whois servers
- fixed infinite loop on some queries requiring TrimDomain()
- fixed mishandling of some error messages (str -> aryref)
- short-circuit MakeLinks routines when a DOM is not found
- updates to whoislist and TrashBoundaries
- esthetic tweaks to wp_style.css and wp.tmpl
- some code cleanup
- TODO: catch "not found" when embedded in comments (currently Zapped with the Trash!)
Version 1.3.0 - 10 Nov 2003
-
WP goes multilingual!
English, German and French and Vietnamese (Thanks Dung!)-
WP is now i18n compatible!
Default charset is now UTF-8 (was ISO-8859-1)
WP extracts preferred languages from ENV{HTTP_ACCEPT_LANGUAGE}
and selects a language file to match (if we have one).
(Please contact us if you can translate about 45 strings into your native language.) - If a language is selected from the pulldown menu, WP then emits
a server header with the appropriate character encoding (JP,KR,CN?),
which may, however, conflict with your preferred language.
-
WP is now i18n compatible!
-
Optional: use Cache::FileCache
(also requires module Log::Agent, Errors.pm, and module Storeable)
refresh time is configurable, default = 1 hour.
which should reduce load on both your server and the whois servers.
- Major revision to use of ZapTrash()
done for all whois() results, not just final ones.
so that Disclaimers are not cached with the results if Caching (and ZapTrash) are enabled.
- Arguments are now passed among subroutines as a hashref
instead of strings or arrays.
- Many tweaks (and a few kludges) to improve performance in
Referral Server detection.
- Added routine to fall back on previous server's response
when the last server queried fails to respond. - Strengthened TrimDomains function - never bother with 5th-level domains and higher
- Improved handling of language selection that understands language preference (value of 'q')
- Major code re-formatting (lines <=80chars ;)
Version 1.2.3 (cvs only) - 26 Sep 2003
- New method of finding Referral Servers.
- Restored ability to query rwhois servers when referred by nics
- Beginning to enable i18n
Version 1.2.2 - 23 Sep 2003
- IPCheck() reworked again. Now looks for ReferralServer, and ignores nic-Handles
(which were starting to get us some false positives)
This also tends to minimize the number of queries to Arin. - Added '+' to all IP queries to Arin -- gets us past those pesky NET-nnn-nnn-nnn answers!
- Alan: Improvements to .ORG lookups.
- Brute-force matching on BR- in CheckHandle() to get to whois.registro.br
- Tweaks to ZapTrash.config
Version 1.2.1 - 26 Apr 2003
- Distribution now contains 'wp.config.dist' instead of 'wp.config'
to avoid overwriting your own wp.config when you update. (thanks to Robert) - Alan reworked IPCheck() to eliminate spurious socket calls to whois
- John added reserved IPs to CheckType so we won't bother Iana.org
- Robert added a new parameter in wp.config/wp_config.cgi: AlwaysAskAbuseNet
- Abuse section marked up in a <span id="abuseinformation">
- John: Interface update: form is more compact
involves changes to wp.cgi, wp.tmpl and wp_style.css
Parameters are now passed to WhoisTemplate() in a hashref. - Removed whois-server pulldown menu
but only commented out in wp.tmpl, so easily re-enabled
Version 1.2.0 - 03 Apr 2003
NEWS: Robert K. has joined the team!
- Should now run out of the box on Windoze
( removed an eval { alarm... } )
- Thanks, Rob! - New TrashBoundaries in ZapTrash.config
- Added a few new whois servers to whoislist
- NicSpecificTweaks() revised and expanded
- Major revision to TrimDomains() to eliminate useless calls to Whois()
- CheckHandles() and TagHandles() reworked (again!)
- ProcessQuery() broken into 4 subfunctions so logic is clearer
- Quit trying to match on -AU and -AR handles (sigh..)
- Eliminated rwhois lookups
- Numerous small fixes to many other functions, eliminating many lines of (useless) code!
- All in all, it should be generally faster and more efficient, and much smarter.
Version 1.1.5.3 15 Mar 2003
- (unreleased) More fixes to ZapTrash and link generation
(was choking on domains registered at whois.enom.com)
Version 1.1.5.2 10 Mar 2003
NEWS: Alan F. has joined the team!
- new CheckAccess() limits to $HitLimit per hour,
and denies access for $AccessReset minutes instead of hits per day - Note: new CheckAccess() obsoletes acladmin.cgi and the cron job.
Required a tweak to wp.tmpl so be sure to get it from CVS if not grabbing the whole package. - Added an option to FilterHTML (using HTML::Parser) to prevent x-site scripting attacks
- Also now using POSIX library.
Thanks, Alan!
- Revised and expanded IPV6 lookups.
- Combined all (known) Nic Handles in a hash, now used by both
CheckHandles() and TagHandles() - Reworked MakeLinks/TagHandles() (replaced TagParens()
so more Nic handles get turned into clickable links with far fewer false positives. - Revised rwhois detection
- Restored functionality of -d[1-4] (debug) switch on commandline.
- Additions of strings to %TrashBoundaries and %NotFoundResult
(improves recursive stripping of nth-level domains)
Version 1.1.5.1 - 02 Mar 2003
- Fixed logging routine - moved from wp.config to wp.cgi itself.
- Consequently had to modify wp_config.cgi as well.
Version 1.1.5.0 - 01 Mar 2003 by John Bro bro(at)users(.)sourceforge(.)net
- Output now preserves white space better,
and monospace font (in wp_style.css) preserves the NICs formatting - ErrorLog has become a variable in wp.config (via wp_config.cgi)
- and path to wp.config specified inside the BEGIN block for all 3 cgi's
(defaults to './wp.config') - Debug is now a function
- Lots of internal code cleanup
Version 1.1.4.4 - 14 Feb 2003
- WP now properly obtains Whois Server for .ORG domains from whois.pir.org
(PublicInterestRegistry.org) like it uses crsnic.net for .com etc. - Additions (new TrashBoundaries - now 55 servers) to ZapTrash.config
- whoislist uses whois.pir.org for .org lookups.
Version 1.1.4.3 - 25 Jan 2003
- Incorporated new whoislist info, borrowed from Marco d'Itri's whois
- Modified wp.cgi to display URLs and comments for TLDs that do NOT provide a whois service,
but that are responsible for the TLD. - Updates made to ZapTrash.config
Version 1.1.4.2
- New wp-install-doc.html contributed by Josh Becket (thanks!)
- acladmin.cgi finally supports ranges of ip numbers
- revised html in acladmin.cgi
(mostly missing slashes like <input .. />) - Added config option to specify stylesheet in wp_config.cgi
- fixed bug in whoislist (spurious trailing slashes)
Version 1.1.4.1 - 3 Nov 2002
- Replaced function AskAbuseNet with one from John Levine, postmaster@abuse.net
- more additions to ZapTrash.config and NoReply (recursive) function
Version 1.1.4.0 - 23 Oct 2002
- All markup is now XHTML 1.0 Strict
- NIC websites made clickable
- updates to whoislist and ZapTrash.config
Version 1.1.3.7
- added several rwhois servers (thanks to Geektools.com)
Version 1.1.3.6
- added strings for nic.at and domain-registry.nl to NotFoundResult hash
- updates to whoislist
- fixed an erroneous local reference to $Cfg in wp.cgi
Version 1.1.3.5
- removed a useless 'else'
- added a couple domains to ZapTrash
Version 1.1.3.4
- Restructured part of IPCheck() because Arin.net's reply
to queries for RIPE-allocated IP# was matching on APNIC.net.
It is now written as an explicit if/elsif/else.
Version 1.1.3.3
- Adapted to new ARIN.net format
- Removed $prfx from calls to whois for ARIN.net
- Added -ARIN$ to list of handle suffixes
Version 1.1.3.2
- Revised ZapTrash.config so it is easier to maintain.
Single variable containing newline separated records, with 3 tab-separated fields: server start-string endstring
The function constructs its hash from this var.
Now strips disclaimers from 43+ servers. - Updated whoislist (still compatible with the GeekTools' whoislist)
- Tweaks for nic.or.kr and added lacnic.net
Version 1.1.3.1
- Adjusted wp.tmpl (html interface) so that only Opera sees the big green WP logo floating on the right. It seems that all (?) other browsers fail to understand style=position:fixed. (sigh...)
Version 1.1.3 - Aug 2002
- Moved project to wp-whois-proxy.SourceForge.net
- added .edu to list of TLDs that do not recurse - only lookup 2LD
- added 10 x.<country>.com domains to NicSpecificTweaks() which then are not stripped to 2LD but are found at centralnic.net
- Adjusted default config and download package to match
SourceForge structure (i.e. a ScriptAliased virtual domain)
Previous tarballs assumed cgi-bin was under the DocumentRoot, and could deliver non-cgi objects. - Logs are all written to /var/tmp/wp/
- perl interpreter expected to be in /usr/bin (not /usr/local/bin)
- TODO: add more configurability to wp_config.cgi
Version 1.1.2
- fixed routines to recursively remove leftmost subdomain
if the whois server doesn't recognize it
com/net/org TLDs are automatically stripped down to Dom.TLD because none of the whois servers list 3rd level subdomains. - minor cosmetic tweaks
Version 1.1
- combined templates whois.html & whois-plain.html into a function &WhoisTemplate in whois.tmpl which decides for itself which version of html to deliver.
- fixed bug in wp_config.cgi ( was not updating checkboxes)
- now that we have a web-configurable wp.config, all external files must exist (or be linked to) a dir in @INC if we want to run the program anywhere besides the current dir (e.g. on the command-line)
Version 1.0 - 29 Jul 2002
(Differences between wp.cgi & GeekTools Whois proxy.cgi v.3.13)
- wp.cgi use(s) strict and -w but NOT -T (breaks!)
- All configuration now in wp.config which is written by wp_config.cgi
- Writes out valid(ated) Html4.01 Strict + CSS (wp_style.css)
Browsers with version <5 get no CSS (whois-plain.html) - All functions now take explicit inputs
and return explicit vars/refs - LOGIC section totally restructured (hopefully more efficient)
ProcessQuery() defangs and classifies the QueryIn
and everything thereafter is based on $Type - All Whois() output is passed around in ArrayRef(s)
- multilevel Debug routines (will be removed in 1.2)
- multilingual support (some) controlled from the html form
strips multiling characters for English
will display Japanese Chinese,Korean
note: deleting [[:ascii:]] doesn't work.. - Nic-Handle queries are mostly working ..
Need more NICs in the (internal) db - Combined all IO::Socket calls into one Whois() function
- several new functions (eliminated several too)
- all output -> ShowForm() now - Split DomainDig into several subfunctions so now DomDig is mostly just the logic..
- Split MakeLinks similarly into subfunctions, too.
- AbuseNet is now a checkbox (or -a on CL)
- added a lookup function DomIP() [IP <--> DomainName] -
handles Abuse requests on IP#s iff they have rDNS - rewrote ZapTrash (eliminates verbose disclaimers) as an external function with a hash of boundaries:
configurable in ZapTrash.config where ZapTrash{Nic =>[BeginString,EndString]}- easy to maintain and expand
- deletes non-ascii chars from output
unless $Lang (-l) =Chinese, Korean or Japanese
- MakeLinks catches more links (but also more false positives..)
- combined CommandLine and CGI versions
see ./wp.cgi -h