Browse Source

Merge pull request #11290 from Andy2244/ksmbd-update-3.1.3

ksmbd: update to 3.1.3, ksmbd-tools: update to 3.2.1, add smb1 support
lilik-openwrt-22.03
Daniel Engberg 5 years ago
committed by GitHub
parent
commit
d114028615
3 changed files with 56 additions and 24 deletions
  1. +23
    -5
      kernel/ksmbd/Makefile
  2. +17
    -14
      net/ksmbd-tools/Makefile
  3. +16
    -5
      net/ksmbd-tools/files/ksmbd.init

+ 23
- 5
kernel/ksmbd/Makefile View File

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=ksmbd PKG_NAME:=ksmbd
PKG_VERSION:=3.1.1
PKG_VERSION:=3.1.3
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/cifsd-team/$(PKG_NAME)/archive/$(PKG_VERSION)/
PKG_HASH:=5cf00902b77206a56f20b8ec499aea061292a15003bbdd8194fcb2299fb2343e
PKG_SOURCE_URL:=https://github.com/cifsd-team/cifsd/archive/$(PKG_VERSION)/
PKG_HASH:=c3c4531d3806117218d23e0552edfe883f978a00b7293180dd2919694102fcb9
PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com> PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE:=GPL-2.0-or-later
@ -15,10 +15,13 @@ PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
TAR_OPTIONS+= --strip-components 1
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
define KernelPackage/fs-ksmbd define KernelPackage/fs-ksmbd
SUBMENU:=Filesystems SUBMENU:=Filesystems
TITLE:=SMB kernel server support TITLE:=SMB kernel server support
URL:=https://github.com/cifsd-team/ksmbd
URL:=https://github.com/cifsd-team/cifsd
FILES:=$(PKG_BUILD_DIR)/ksmbd.ko FILES:=$(PKG_BUILD_DIR)/ksmbd.ko
DEPENDS:= \ DEPENDS:= \
+kmod-nls-base \ +kmod-nls-base \
@ -38,13 +41,28 @@ define KernelPackage/fs-ksmbd
endef endef
define KernelPackage/fs-ksmbd/description define KernelPackage/fs-ksmbd/description
Ksmbd is an In-kernel SMB2/3 fileserver.
Ksmbd is an In-kernel SMBv(1)2/3 fileserver.
It's an implementation of the SMB protocol in kernel space for sharing files and IPC services over network. It's an implementation of the SMB protocol in kernel space for sharing files and IPC services over network.
endef endef
define KernelPackage/fs-ksmbd/config
config KSMBD_SMB_INSECURE_SERVER
bool "Support for insecure SMB1/CIFS and SMB2.0 protocols"
depends on PACKAGE_kmod-fs-ksmbd
help
This enables deprecated insecure protocols dialects: SMB1/CIFS and SMB2.0.
default y
endef
ifeq ($(CONFIG_KSMBD_SMB_INSECURE_SERVER),y)
PKG_EXTRA_KCONFIG:=CONFIG_SMB_INSECURE_SERVER=y
EXTRA_CFLAGS += -DCONFIG_SMB_INSECURE_SERVER=1
endif
define Build/Compile define Build/Compile
$(KERNEL_MAKE) SUBDIRS="$(PKG_BUILD_DIR)" \ $(KERNEL_MAKE) SUBDIRS="$(PKG_BUILD_DIR)" \
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \ EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
$(PKG_EXTRA_KCONFIG) \
CONFIG_SMB_SERVER=m \ CONFIG_SMB_SERVER=m \
modules modules
endef endef


+ 17
- 14
net/ksmbd-tools/Makefile View File

@ -1,33 +1,36 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=ksmbd-tools PKG_NAME:=ksmbd-tools
PKG_VERSION:=3.1.0
PKG_RELEASE:=2
PKG_VERSION:=3.2.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/cifsd-team/$(PKG_NAME)/archive/$(PKG_VERSION)/
PKG_HASH:=7a01b327028cb52824a394dc2c4e706d15145b823fd0ff399c359f7a4c991c4a
PKG_SOURCE_URL:=https://github.com/cifsd-team/cifsd-tools/archive/$(PKG_VERSION)/
PKG_HASH:=acb4d97cbb0b22ad42ed1536bdd2c28af2a3c698664c058da59a644d5e6df599
PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com> PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING PKG_LICENSE_FILES:=COPYING
PKG_FIXUP:=autoreconf PKG_FIXUP:=autoreconf
PKG_REMOVE_FILES:=autogen.sh
PKG_INSTALL:=1 PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
PKG_REMOVE_FILES:=autogen.sh
PKG_BUILD_DEPENDS:=glib2 PKG_BUILD_DEPENDS:=glib2
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk include $(INCLUDE_DIR)/nls.mk
TAR_OPTIONS+= --strip-components 1
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
define Package/ksmbd-tools/Default define Package/ksmbd-tools/Default
SECTION:=net SECTION:=net
CATEGORY:=Network CATEGORY:=Network
SUBMENU:=Filesystem SUBMENU:=Filesystem
TITLE:=Kernel SMB TITLE:=Kernel SMB
URL:=https://github.com/cifsd-team/ksmbd-tools
URL:=https://github.com/cifsd-team/cifsd-tools
DEPENDS:= $(ICONV_DEPENDS) $(INTL_DEPENDS) DEPENDS:= $(ICONV_DEPENDS) $(INTL_DEPENDS)
endef endef
@ -43,7 +46,7 @@ define Package/ksmbd-server
endef endef
define Package/ksmbd-server/description define Package/ksmbd-server/description
installs: usmbd
installs: ksmbd.mountd
This provides the basic fileserver service and is the minimum needed to serve 'guest only' file shares or use a existing user database file ksmbdpwd.db. This provides the basic fileserver service and is the minimum needed to serve 'guest only' file shares or use a existing user database file ksmbdpwd.db.
endef endef
@ -58,7 +61,7 @@ define Package/ksmbd-utils
endef endef
define Package/ksmbd-utils/description define Package/ksmbd-utils/description
installs: smbuseradd (smbshareadd)
installs: ksmbd.adduser (ksmbd.addshare)
Tool needed to create the ksmbdpwd.db, to manage per user share passwords. Tool needed to create the ksmbdpwd.db, to manage per user share passwords.
NOTE: Not needed for 'guest only' shares. NOTE: Not needed for 'guest only' shares.
@ -66,17 +69,17 @@ endef
define Package/ksmbd-utils/config define Package/ksmbd-utils/config
config KSMBD_UTILS_SHAREADD config KSMBD_UTILS_SHAREADD
bool "Add smbshareadd util"
bool "Add ksmbd.addshare util"
depends on PACKAGE_ksmbd-utils depends on PACKAGE_ksmbd-utils
help help
Add the smbshareadd tool, to directly manipulate the /etc/ksmbd/smb.conf.
Add the ksmbd.addshare tool, to directly manipulate the /etc/ksmbd/smb.conf.
default n default n
endef endef
define Package/ksmbd-avahi-service define Package/ksmbd-avahi-service
$(call Package/ksmbd-tools/Default) $(call Package/ksmbd-tools/Default)
TITLE+= (Avahi service) TITLE+= (Avahi service)
DEPENDS+=+avahi-daemon
DEPENDS:= +avahi-daemon
endef endef
define Package/ksmbd-avahi-service/description define Package/ksmbd-avahi-service/description
@ -97,7 +100,7 @@ TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed -liconv $(if $(INTL_FULL),-lintl
define Package/ksmbd-server/install define Package/ksmbd-server/install
$(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/usmbd $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ksmbd.mountd $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/config $(1)/etc/ksmbd $(1)/etc/init.d $(INSTALL_DIR) $(1)/etc/config $(1)/etc/ksmbd $(1)/etc/init.d
$(INSTALL_CONF) ./files/ksmbd.config $(1)/etc/config/ksmbd $(INSTALL_CONF) ./files/ksmbd.config $(1)/etc/config/ksmbd
$(INSTALL_DATA) ./files/smb.conf.template $(1)/etc/ksmbd/ $(INSTALL_DATA) ./files/smb.conf.template $(1)/etc/ksmbd/
@ -109,9 +112,9 @@ endef
define Package/ksmbd-utils/install define Package/ksmbd-utils/install
$(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/smbuseradd $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ksmbd.adduser $(1)/usr/sbin/
ifeq ($(CONFIG_KSMBD_UTILS_SHAREADD),y) ifeq ($(CONFIG_KSMBD_UTILS_SHAREADD),y)
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/smbshareadd $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ksmbd.addshare $(1)/usr/sbin/
endif endif
endef endef


+ 16
- 5
net/ksmbd-tools/files/ksmbd.init View File

@ -27,14 +27,25 @@ smb_header()
local hostname local hostname
hostname="$(cat /proc/sys/kernel/hostname)" hostname="$(cat /proc/sys/kernel/hostname)"
config_get workgroup $1 workgroup "WORKGROUP"
config_get description $1 description "Ksmbd on OpenWrt"
config_get workgroup $1 workgroup "WORKGROUP"
config_get description $1 description "Ksmbd on OpenWrt"
config_get_bool ALLOW_LEGACY_PROTOCOLS $1 allow_legacy_protocols 0
sed -e "s#|NAME|#$hostname#g" \ sed -e "s#|NAME|#$hostname#g" \
-e "s#|WORKGROUP|#$workgroup#g" \ -e "s#|WORKGROUP|#$workgroup#g" \
-e "s#|DESCRIPTION|#$description#g" \ -e "s#|DESCRIPTION|#$description#g" \
-e "s#|INTERFACES|#$interfaces#g" \ -e "s#|INTERFACES|#$interfaces#g" \
/etc/ksmbd/smb.conf.template > /var/etc/ksmbd/smb.conf /etc/ksmbd/smb.conf.template > /var/etc/ksmbd/smb.conf
{
printf "\n######### Dynamic written config options #########\n"
if [ "$ALLOW_LEGACY_PROTOCOLS" -eq 1 ]; then
logger -p daemon.info -t 'ksmbd' "Legacy Protocols allowed, don't use this option for secure environments!"
printf "\tserver min protocol = NT1\n"
printf "\tserver signing = disabled\n"
fi
} >> /var/etc/ksmbd/smb.conf
[ -e /etc/ksmbd/smb.conf ] || ln -nsf /var/etc/ksmbd/smb.conf /etc/ksmbd/smb.conf [ -e /etc/ksmbd/smb.conf ] || ln -nsf /var/etc/ksmbd/smb.conf /etc/ksmbd/smb.conf
@ -168,7 +179,7 @@ start_service()
logger -p daemon.notice -t 'ksmbd' "Starting Ksmbd userspace service." logger -p daemon.notice -t 'ksmbd' "Starting Ksmbd userspace service."
procd_open_instance procd_open_instance
procd_add_mdns "smb" "tcp" "445" procd_add_mdns "smb" "tcp" "445"
procd_set_param command /usr/sbin/usmbd --n
procd_set_param command /usr/sbin/ksmbd.mountd --n
procd_set_param file /etc/ksmbd/smb.conf procd_set_param file /etc/ksmbd/smb.conf
procd_set_param limits nofile=16384 procd_set_param limits nofile=16384
procd_close_instance procd_close_instance
@ -177,7 +188,7 @@ start_service()
stop_service() stop_service()
{ {
logger -p daemon.notice -t 'ksmbd' "Stopping Ksmbd userspace service." logger -p daemon.notice -t 'ksmbd' "Stopping Ksmbd userspace service."
killall usmbd > /dev/null 2>&1
killall ksmbd.mountd > /dev/null 2>&1
[ -e /sys/module/ksmbd ] && rmmod ksmbd > /dev/null 2>&1 [ -e /sys/module/ksmbd ] && rmmod ksmbd > /dev/null 2>&1
# kill server if we cant rmmod # kill server if we cant rmmod
@ -188,7 +199,7 @@ stop_service()
if [ -e /sys/module/ksmbd ]; then if [ -e /sys/module/ksmbd ]; then
logger -p daemon.error -t 'ksmbd' "module still loaded after kill_server?" logger -p daemon.error -t 'ksmbd' "module still loaded after kill_server?"
fi fi
[ -f /tmp/usmbd.lock ] && rm /tmp/usmbd.lock
[ -f /tmp/ksmbd.lock ] && rm /tmp/ksmbd.lock
} }
# reload_service() { # reload_service() {


Loading…
Cancel
Save