Commit Graph
2383 Commits
Author SHA1 Message Date
Alex Osborne 140211e8c2 Link to the structured documentation in the README 2021-12-13 14:20:33 +09:00
Alex Osborne 52733b9dc0 README: Fix javadoc badge and add docker badge 2021-12-13 14:15:21 +09:00
Alex Osborne 65c1025546 Make the docker build manually triggered
Currently it's only building the last interim release so there's not much point rerunning it on each commit.
2021-12-13 14:06:25 +09:00
Alex Osborne b73a8d0356 docker ci: set working-directory
Looks like the Dockerfile expects entrypoint.sh to be in the current working directory.
2021-12-13 14:01:45 +09:00
Alex Osborne bad8bbd1ee Move docker-image.yml to .github/workflows
Not sure why it ended up here as I created it through the new workflow wizard. I guess I hit a bug.
2021-12-13 13:58:55 +09:00
Alex Osborne 31c9378888 Create docker-image.yml 2021-12-13 00:58:43 +09:00
Alex Osborne 0f9109ba9f Merge pull request #450 from Querela/360-docker
Add Dockerfile
2021-12-13 00:50:20 +09:00
Erik Körner 3a5b758d5e Docs (temp) 2021-12-10 16:39:17 +01:00
Erik Körner 17c9694039 Add Dockerfile 2021-12-10 15:35:03 +01:00
Alex Osborne d83e799ad9 Merge pull request #448 from ldko/resolve-gid-too-big
Resolve gid too big
2021-12-04 13:23:21 +09:00
Lauren Ko a0f0ba45e5 Fix files included by assembly 2021-12-03 16:05:59 -06:00
Lauren Ko 256f8742e9 Fix group id is too big 2021-12-03 12:20:32 -06:00
Alex Osborne d11d02eeac docs: Add 'Loading Cookies' section to config guide 2021-11-29 12:11:54 +09:00
Alex Osborne d63cb9af8b Merge pull request #444 from internetarchive/fix-dnsjava-selector-thread
FetchDNS: Keep dnsjava selector thread out of ToePool
2021-11-27 12:41:11 +09:00
Alex Osborne c46cfd1c31 Merge pull request #441 from netarchivesuite/iipc-master
Enabled configurable url-matching and extraction for sitemaps.
2021-11-02 10:34:26 +09:00
Alex Osborne 1832c5ef89 FetchDNS: Keep dnsjava selector thread out of ToePool
dnsjava will create its global selector thread on first DNS lookup.
Since the first lookup occurs on a toe thread then this will cause the
selector thead to join the job's toe thread group. This is a problem
because when the job is terminated ToePool sends an interrupt to all
threads in the thread group which the dnsjava selector thread is
not expected and never clears. The interrupted state then causes
select() to return immediately instead of sleeping so it consumes
100% CPU.

So workaround this by doing a dummy lookup when FetchDNS is loaded,
this ensures the first lookup happens on the web server thread that
handles the job build action instead of a toe thread.

Fixes: 045b2516da ("Update to latest version of dnsjava")
2021-11-01 16:15:27 +09:00
Alex Osborne 513c5fc487 FetchDNS: Move DNS cache init from CrawlController
Since the cache is global we only need to configure it once, not every
time we start a job. By moving it we keep the code that interfaces with
dnsjava centralized in FetchDNS.

Looks like dnsjava no longer uses a cleaner thread so remove the comment
referring to it.
2021-11-01 16:15:27 +09:00
Alex Osborne 17d760aa78 Remove obsolete Java < 1.6 version check
The parsing throws StringIndexOutOfBoundsException when the version
does not contain '.' such as version "17". This check could never
actually trigger as the class cannot even be loaded on 1.7 or earlier,
so there's no reason to keep it.

Fixes #439
2021-09-30 09:59:57 +09:00
Alex Osborne 698341a1d6 Github action: test against JDK 17 (LTS) instead of 16 2021-09-30 09:12:54 +09:00
Andrew Jackson c373c8e95e Re-sync changelog for 20210923 2021-09-23 23:58:54 +01:00
Andrew Jackson 024a7772b5 [maven-release-plugin] prepare for next development iteration 2021-09-23 22:08:33 +01:00
Andrew Jackson fedff1e2c7 [maven-release-plugin] prepare release 3.4.0-20210923 3.4.0-20210923 2021-09-23 22:08:30 +01:00
Andrew Jackson 16ab42973b Resync changelog. 2021-09-23 22:03:51 +01:00
Andy Jackson 2101a8c0f3 Merge pull request #434 from ukwa/safer-cookie-iteration
Add safer cookie iteration
2021-09-23 21:35:23 +01:00
Alex Osborne c1b1b11163 SECURITY.md: Use HTTPS for PANDORA contact link 2021-09-11 11:13:42 +09:00
Alex Osborne 5fcb9f4084 SECURITY.md: add mising 'the' 2021-09-11 10:59:49 +09:00
Alex Osborne 46d7e06bce Create SECURITY.md
Fixes #429
2021-09-11 10:51:27 +09:00
Alex Osborne 780abb0b1d docs: Update AdoptOpenJDK link as it has been rebranded Adoptium
https://blog.adoptopenjdk.net/2021/08/goodbye-adoptopenjdk-hello-adoptium/
2021-09-11 07:53:18 +09:00
Geertjan Wielenga cdfe1b32b4 Adopt is no more, moving to Temurin 2021-09-11 07:44:04 +09:00
Andy Jackson 3f4535a933 Add safer cookie iteration, as per #427. 2021-09-06 11:05:12 +01:00
Alex Osborne 47eebbc765 Merge pull request #431 from internetarchive/extractor-chrome-bug-fixes
ExtractorChrome bug fixes
2021-08-19 08:32:49 +09:00
Alex Osborne 3346428bf2 ExtractorChrome: Warn instead of throwing when response headers missing
Colin reported this exception. I'm uncertain how this can occur though
as FetchHTTP should populate the response headers. Perhaps a different
Fetch module was used?
2021-08-17 09:28:22 +09:00
Alex Osborne e93e457e19 ChromeWindow: Handle raw headers or headersText being unavailable
Colin encountered headersText being unavailable. (Maybe HTTP/2?)
2021-08-17 09:28:22 +09:00
Alex Osborne 6b19daf1d2 ExtractorChrome: Don't capture data: URIs
They are already captured as part of their containing document. There's
no need to record them separately.

#430
2021-08-17 09:28:22 +09:00
Alex Osborne cd30fbcc3c Merge pull request #424 from internetarchive/ui-cleanup
UI: Refactor duplicate template rendering code
2021-08-09 14:41:28 +09:00
Alex Osborne c34cb65683 ChromeClient: increase RPC timeout from 10 to 60 seconds
We hit a timeout during CI. The timeout is just a safety measure in case
the browser hangs so it doesn't hurt to have it higher. Using a higher
value will hopefully help if the system temporarily stalls for some
reason (garbage collection, IO issues, VM migration etc).
2021-08-09 14:37:45 +09:00
Andrew Jackson 0d46239c2d Update changelog following release. 2021-08-03 10:40:01 +01:00
Andrew Jackson ddb695abad [maven-release-plugin] prepare for next development iteration 2021-08-03 09:56:26 +01:00
Andrew Jackson ba44cce7f2 [maven-release-plugin] prepare release 3.4.0-20210803 3.4.0-20210803 2021-08-03 09:56:20 +01:00
Andrew Jackson 0b48699948 Update changelog 2021-08-03 09:53:30 +01:00
Alex Osborne eb67cfb215 Merge pull request #423 from internetarchive/dont-extract-data-uris
Don't extract data URIs
2021-08-03 07:43:17 +09:00
Andrew Jackson 8fe92c3437 Update changlog. 2021-08-02 13:36:45 +01:00
Andy Jackson 4d5b2dc3fe Merge pull request #397 from ukwa/upgrade-httpclient-4-5
Upgrade httpclient to 4.5
2021-08-02 09:19:30 +01:00
Alex Osborne ed13a2b0c5 UI: Pull duplicate getEngine() methods up to BaseResource
Each direct subclass of BaseResource defines an identical getEngine()
method so let's pull it up to BaseResource. We can also don't need the
type cast anymore as BaseResource.getApplication() does it for us.
2021-08-01 17:19:35 +09:00
Alex Osborne 2719d022d5 UI: Refactor duplicated template code into a common render() helper
We remove the calls to setCharacterSet(UTF_8) since
WriterRepresentation's constructor does that anyway.
2021-08-01 17:19:35 +09:00
Alex Osborne 4233a930f0 UI: Use a single instance of Freemarker for the whole application
So we don't need to configure it separately in every resource class that
uses HTML templates.
2021-08-01 15:23:38 +09:00
Alex Osborne d72d847d92 Merge pull request #421 from internetarchive/toe-thread-interrupt-fix
ToeThread: ensure currentCuri is finished before exiting
2021-07-31 16:21:14 +09:00
Alex Osborne 82b4360962 Merge pull request #418 from internetarchive/fix-keytool-on-jdk16
JDK 16 compatibility
2021-07-31 16:20:45 +09:00
Alex Osborne 33a5d70209 ExtractorSitemap: Use logUriError() helper like other extractors 2021-07-30 15:57:09 +09:00
Alex Osborne 1032c0ec40 ExtractorHTML: Avoid allocating strings for data: URIs when possible
Data URIs can be very large. ExtractorHTML mostly works with off-heap
CharSequences so by delaying the conversion of outlinks to strings
until after filtering out data URIs we can potentially avoid some
very large String allocations.
2021-07-30 15:57:09 +09:00