[
https://issues.apache.org/jira/browse/NUTCH-2856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17889292#comment-17889292
]
ASF GitHub Bot commented on NUTCH-2856:
---------------------------------------
lewismc commented on code in PR #826:
URL: https://github.com/apache/nutch/pull/826#discussion_r1799894039
##########
conf/log4j2.xml:
##########
@@ -25,7 +25,8 @@
<Appenders>
<RollingFile name="RollingFile"
fileName="${hadoop.log.dir}/${hadoop.log.file}"
filePattern="${hadoop.log.dir}/$${date:yyyy-MM}/nutch-%d{yyyy-MM-dd}.log.gz">
- <PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
+ <!--<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />-->
+ <PatternLayout pattern="%d %p %c [%t] %m%n" />
Review Comment:
OK
##########
src/plugin/protocol-smb/ivy.xml:
##########
@@ -0,0 +1,47 @@
+<?xml version="1.0" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<ivy-module xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"
+ xmlns:ns0="http://ant.apache.org/ivy/maven" version="2.0">
+ <info organisation="org.apache.nutch" module="${ant.project.name}">
+ <license name="Apache 2.0"/>
+ <ivyauthor name="Apache Nutch Team" url="http://nutch.apache.org"/>
+ <description>
+ Apache Nutch
+ </description>
+ </info>
+
+ <configurations>
+ <include file="../../..//ivy/ivy-configurations.xml"/>
+ </configurations>
+
+ <publications>
+ <!--get the artifact from our module name-->
+ <artifact conf="master"/>
+ </publications>
+
+ <dependencies>
+ <dependency org="com.hierynomus" name="smbj" rev="0.13.0"/>
+ <dependency org="net.engio" name="mbassador" rev="1.3.0"/>
Review Comment:
Absolutely, I understand.
_Some_ plugins contain a file called _howto_upgrade_${plugin}.md_ which
contains guidance on this. We could/should extract all of these files to a
centralized location.
For an example you can see
[howto_upgrade_solr.md](https://github.com/apache/nutch/blob/master/src/plugin/indexer-solr/howto_upgrade_solr.md).
##########
src/plugin/protocol-smb/plugin.xml:
##########
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<plugin
+ id="protocol-smb"
+ name="SMB Protocol based on https://github.com/hierynomus/smbj"
+ version="1.0.0"
+ provider-name="Hiran Chaudhuri">
+
+ <runtime>
+ <library name="asn-one-0.6.0.jar"/>
Review Comment:
If you follow the guidance I gave above regarding adapting the steps in
[howto_upgrade_solr.md](https://github.com/apache/nutch/blob/master/src/plugin/indexer-solr/howto_upgrade_solr.md)
then this stage will be done for you.
##########
src/plugin/build.xml:
##########
@@ -78,6 +78,7 @@
<ant dir="protocol-httpclient" target="deploy"/>
<ant dir="protocol-interactiveselenium" target="deploy" />
<ant dir="protocol-okhttp" target="deploy"/>
+ <ant dir="protocol-smb" target="deploy"/>
Review Comment:
If you look in the same file further down, you will find the
[test](https://github.com/apache/nutch/blob/master/src/plugin/build.xml#L115)
and
[clean](https://github.com/apache/nutch/blob/master/src/plugin/build.xml#L178)
targets.
##########
.gitignore:
##########
@@ -26,3 +26,7 @@ lib/spotbugs-*
ivy/dependency-check-ant/*
.gradle*
ivy/apache-rat-*
+.vscode
+crawl
Review Comment:
Ar you referring to the [Nutch
tutorial](https://cwiki.apache.org/confluence/display/NUTCH/NutchTutorial)?
The tutorial is not aimed towards _developers_ per say so it is not
concerned with accidentally committing these directories along with a PR.
I understand why you have added them in your local branch but they should
not be included in the PR. Each developer may locate the same directories in
different places...
##########
runNutch.sh:
##########
@@ -0,0 +1,32 @@
+#/bin/bash
Review Comment:
OK
##########
src/plugin/protocol-smb/ivy.xml:
##########
@@ -0,0 +1,47 @@
+<?xml version="1.0" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<ivy-module xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd"
+ xmlns:ns0="http://ant.apache.org/ivy/maven" version="2.0">
+ <info organisation="org.apache.nutch" module="${ant.project.name}">
+ <license name="Apache 2.0"/>
+ <ivyauthor name="Apache Nutch Team" url="http://nutch.apache.org"/>
+ <description>
+ Apache Nutch
+ </description>
+ </info>
+
+ <configurations>
+ <include file="../../..//ivy/ivy-configurations.xml"/>
+ </configurations>
+
+ <publications>
+ <!--get the artifact from our module name-->
+ <artifact conf="master"/>
+ </publications>
+
+ <dependencies>
+ <dependency org="com.hierynomus" name="smbj" rev="0.13.0"/>
+ <dependency org="net.engio" name="mbassador" rev="1.3.0"/>
+ <dependency org="org.bouncycastle" name="bcprov-jdk18on" rev="1.75"/>
+ <dependency org="com.hierynomus" name="asn-one" rev="0.6.0"/>
+ <dependency org="commons-io" name="commons-io" rev="2.17.0"/>
Review Comment:
Yes please ignore this comment apologies. That being said with `commons-io`
already defined in `ivy/ivy.xml` we can remove it from the plugin or at-least
synchronize the version with the version set in `ivy/ivy.xml`.
> Implement a protocol-smb plugin based on hierynomus/smbj
> --------------------------------------------------------
>
> Key: NUTCH-2856
> URL: https://issues.apache.org/jira/browse/NUTCH-2856
> Project: Nutch
> Issue Type: New Feature
> Components: external, plugin, protocol
> Reporter: Hiran Chaudhuri
> Assignee: Hiran Chaudhuri
> Priority: Major
> Fix For: 1.21
>
>
> The plugin protocol-smb advertized on
> [https://cwiki.apache.org/confluence/display/NUTCH/PluginCentral] actually
> refers to the JCIFS library. According to this library's homepage
> [https://www.jcifs.org/]:
> _If you're looking for the latest and greatest open source Java SMB library,
> this is not it. JCIFS has been in maintenance-mode-only for several years and
> although what it does support works fine (SMB1, NTLMv2, midlc, MSRPC and
> various utility classes), jCIFS does not support the newer SMB2/3 variants of
> the SMB protocol which is slowly becoming required (Windows 10 requires
> SMB2/3). JCIFS only supports SMB1 but Microsoft has deprecated SMB1 in their
> products. *So if SMB1 is disabled on your network, JCIFS' file related
> operations will NOT work.*_
> Looking at
> [https://en.wikipedia.org/wiki/Server_Message_Block#SMB_/_CIFS_/_SMB1:|https://en.wikipedia.org/wiki/Server_Message_Block#SMB_/_CIFS_/_SMB1]
> _Microsoft added SMB1 to the Windows Server 2012 R2 deprecation list in June
> 2013. Windows Server 2016 and some versions of Windows 10 Fall Creators
> Update do not have SMB1 installed by default._
> As a conclusion, the chances that SMB1 protocol is installed and/or
> configured are getting vastly smaller. Therefore some migration towards
> SMB2/3 is required. Luckily the JCIFS homepage lists alternatives:
> * [jcifs-codelibs|https://github.com/codelibs/jcifs]
> * [jcifs-ng|https://github.com/AgNO3/jcifs-ng]
> * [smbj|https://github.com/hierynomus/smbj]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)