[ 
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)

Reply via email to