Merge Lean's source
This commit is contained in:
commit
3195e7e991
139
package/lean/ksmbd-tools/Makefile
Normal file
139
package/lean/ksmbd-tools/Makefile
Normal file
@ -0,0 +1,139 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ksmbd-tools
|
||||
PKG_VERSION:=3.2.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
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_LICENSE:=GPL-2.0-or-later
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
PKG_FIXUP:=autoreconf
|
||||
PKG_REMOVE_FILES:=autogen.sh
|
||||
PKG_INSTALL:=1
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
PKG_BUILD_DEPENDS:=glib2
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/nls.mk
|
||||
|
||||
TAR_OPTIONS+= --strip-components 1
|
||||
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
|
||||
|
||||
define Package/ksmbd-tools/Default
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
SUBMENU:=Filesystem
|
||||
TITLE:=Kernel SMB
|
||||
URL:=https://github.com/cifsd-team/cifsd-tools
|
||||
DEPENDS:= $(ICONV_DEPENDS) $(INTL_DEPENDS)
|
||||
endef
|
||||
|
||||
define Package/ksmbd-tools/Default/description
|
||||
Userspace tools to manage the SMB kernel fileserver (ksmbd.ko).
|
||||
The config file location is /etc/ksmbd/smb.conf
|
||||
endef
|
||||
|
||||
define Package/ksmbd-server
|
||||
$(call Package/ksmbd-tools/Default)
|
||||
TITLE+= server
|
||||
DEPENDS+= +kmod-fs-ksmbd +libnl-core +libnl-genl
|
||||
endef
|
||||
|
||||
define Package/ksmbd-server/description
|
||||
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.
|
||||
endef
|
||||
|
||||
define Package/ksmbd-server/config
|
||||
select PACKAGE_wsdd2
|
||||
endef
|
||||
|
||||
define Package/ksmbd-utils
|
||||
$(call Package/ksmbd-tools/Default)
|
||||
TITLE+= user management-util
|
||||
endef
|
||||
|
||||
define Package/ksmbd-utils/description
|
||||
installs: ksmbd.adduser (ksmbd.addshare)
|
||||
|
||||
Tool needed to create the ksmbdpwd.db, to manage per user share passwords.
|
||||
NOTE: Not needed for 'guest only' shares.
|
||||
endef
|
||||
|
||||
define Package/ksmbd-utils/config
|
||||
config KSMBD_UTILS_SHAREADD
|
||||
bool "Add ksmbd.addshare util"
|
||||
depends on PACKAGE_ksmbd-utils
|
||||
help
|
||||
Add the ksmbd.addshare tool, to directly manipulate the /etc/ksmbd/smb.conf.
|
||||
default n
|
||||
endef
|
||||
|
||||
define Package/ksmbd-avahi-service
|
||||
$(call Package/ksmbd-tools/Default)
|
||||
TITLE+= (Avahi service)
|
||||
DEPENDS:= +avahi-daemon
|
||||
endef
|
||||
|
||||
define Package/ksmbd-avahi-service/description
|
||||
installs: smb.service
|
||||
|
||||
This package contains the service definition for announcing the
|
||||
Ksmbd (smb/445) Daemon service via mDNS/DNS-SD.
|
||||
endef
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--disable-shared \
|
||||
--enable-static
|
||||
|
||||
CONFIGURE_VARS += GLIB_LIBS="$(STAGING_DIR)/usr/lib/libglib-2.0.a"
|
||||
|
||||
TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
|
||||
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed -liconv $(if $(INTL_FULL),-lintl)
|
||||
|
||||
define Package/ksmbd-server/install
|
||||
$(INSTALL_DIR) $(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_CONF) ./files/ksmbd.config $(1)/etc/config/ksmbd
|
||||
$(INSTALL_DATA) ./files/smb.conf.template $(1)/etc/ksmbd/
|
||||
$(INSTALL_BIN) ./files/ksmbd.init $(1)/etc/init.d/ksmbd
|
||||
# copy examples until we have a wiki page
|
||||
$(INSTALL_DATA) ./files/ksmbd.config.example $(1)/etc/ksmbd/
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/Documentation/configuration.txt $(1)/etc/ksmbd/
|
||||
endef
|
||||
|
||||
define Package/ksmbd-utils/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ksmbd.adduser $(1)/usr/sbin/
|
||||
ifeq ($(CONFIG_KSMBD_UTILS_SHAREADD),y)
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ksmbd.addshare $(1)/usr/sbin/
|
||||
endif
|
||||
endef
|
||||
|
||||
define Package/ksmbd-avahi-service/install
|
||||
$(INSTALL_DIR) $(1)/etc/avahi/services
|
||||
$(INSTALL_DATA) ./files/smb.service $(1)/etc/avahi/services/
|
||||
endef
|
||||
|
||||
define Package/ksmbd-server/conffiles
|
||||
/etc/config/ksmbd
|
||||
/etc/ksmbd/smb.conf.template
|
||||
/etc/ksmbd/smb.conf
|
||||
/etc/ksmbd/ksmbdpwd.db
|
||||
endef
|
||||
|
||||
define Package/ksmbd-avahi-service/conffiles
|
||||
/etc/avahi/services/smb.service
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,ksmbd-server))
|
||||
$(eval $(call BuildPackage,ksmbd-utils))
|
||||
$(eval $(call BuildPackage,ksmbd-avahi-service))
|
||||
3
package/lean/ksmbd-tools/files/ksmbd.config
Normal file
3
package/lean/ksmbd-tools/files/ksmbd.config
Normal file
@ -0,0 +1,3 @@
|
||||
config globals
|
||||
option 'workgroup' 'WORKGROUP'
|
||||
option 'description' 'Ksmbd on OpenWrt'
|
||||
11
package/lean/ksmbd-tools/files/ksmbd.config.example
Normal file
11
package/lean/ksmbd-tools/files/ksmbd.config.example
Normal file
@ -0,0 +1,11 @@
|
||||
config globals
|
||||
option 'description' 'Ksmbd on OpenWrt'
|
||||
|
||||
config share
|
||||
option name 'testshare'
|
||||
option path '/tmp'
|
||||
option read_only 'no'
|
||||
option guest_ok 'yes'
|
||||
option create_mask '0666'
|
||||
option dir_mask '0777'
|
||||
option force_root '1'
|
||||
207
package/lean/ksmbd-tools/files/ksmbd.init
Normal file
207
package/lean/ksmbd-tools/files/ksmbd.init
Normal file
@ -0,0 +1,207 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=98
|
||||
USE_PROCD=1
|
||||
|
||||
SMBD_IFACE=""
|
||||
|
||||
smb_header()
|
||||
{
|
||||
config_get SMBD_IFACE $1 interface "lan"
|
||||
|
||||
# resolve interfaces
|
||||
local interfaces
|
||||
interfaces=$(
|
||||
. /lib/functions/network.sh
|
||||
|
||||
local net
|
||||
for net in $SMBD_IFACE; do
|
||||
local device
|
||||
network_is_up $net || continue
|
||||
network_get_device device "$net"
|
||||
echo -n "${device:-$net} "
|
||||
done
|
||||
)
|
||||
|
||||
local workgroup description
|
||||
local hostname
|
||||
hostname="$(cat /proc/sys/kernel/hostname)"
|
||||
|
||||
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" \
|
||||
-e "s#|WORKGROUP|#$workgroup#g" \
|
||||
-e "s#|DESCRIPTION|#$description#g" \
|
||||
-e "s#|INTERFACES|#$interfaces#g" \
|
||||
/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
|
||||
|
||||
if [ ! -L /etc/ksmbd/smb.conf ]; then
|
||||
logger -p daemon.warn -t 'ksmbd' "Local custom /etc/ksmbd/smb.conf file detected, all UCI/Luci config settings are ignored!"
|
||||
fi
|
||||
}
|
||||
|
||||
smb_add_share()
|
||||
{
|
||||
local name
|
||||
local path
|
||||
local comment
|
||||
local users
|
||||
local create_mask
|
||||
local dir_mask
|
||||
local browseable
|
||||
local read_only
|
||||
local writeable
|
||||
local guest_ok
|
||||
local force_root
|
||||
local write_list
|
||||
local read_list
|
||||
local hide_dot_files
|
||||
local veto_files
|
||||
local inherit_owner
|
||||
local force_create_mode
|
||||
local force_directory_mode
|
||||
|
||||
config_get name $1 name
|
||||
config_get path $1 path
|
||||
config_get comment $1 comment
|
||||
config_get users $1 users
|
||||
config_get create_mask $1 create_mask
|
||||
config_get dir_mask $1 dir_mask
|
||||
config_get browseable $1 browseable
|
||||
config_get read_only $1 read_only
|
||||
config_get writeable $1 writeable
|
||||
config_get guest_ok $1 guest_ok
|
||||
config_get_bool force_root $1 force_root 0
|
||||
config_get write_list $1 write_list
|
||||
config_get read_list $1 read_list
|
||||
config_get hide_dot_files $1 hide_dot_files
|
||||
config_get veto_files $1 veto_files
|
||||
config_get inherit_owner $1 inherit_owner
|
||||
config_get force_create_mode $1 force_create_mode
|
||||
config_get force_directory_mode $1 force_directory_mode
|
||||
|
||||
[ -z "$name" ] || [ -z "$path" ] && return
|
||||
|
||||
{
|
||||
printf "\n[%s]\n\tpath = %s\n" "$name" "$path"
|
||||
[ -n "$comment" ] && printf "\tcomment = %s\n" "$comment"
|
||||
|
||||
if [ "$force_root" -eq 1 ]; then
|
||||
printf "\tforce user = %s\n" "root"
|
||||
printf "\tforce group = %s\n" "root"
|
||||
else
|
||||
[ -n "$users" ] && printf "\tvalid users = %s\n" "$users"
|
||||
fi
|
||||
|
||||
[ -n "$create_mask" ] && printf "\tcreate mask = %s\n" "$create_mask"
|
||||
[ -n "$dir_mask" ] && printf "\tdirectory mask = %s\n" "$dir_mask"
|
||||
[ -n "$force_create_mode" ] && printf "\tforce create mode = %s\n" "$force_create_mode"
|
||||
[ -n "$force_directory_mode" ] && printf "\tforce directory mode = %s\n" "$force_directory_mode"
|
||||
|
||||
[ -n "$browseable" ] && printf "\tbrowseable = %s\n" "$browseable"
|
||||
[ -n "$read_only" ] && printf "\tread only = %s\n" "$read_only"
|
||||
[ -n "$writeable" ] && printf "\twriteable = %s\n" "$writeable"
|
||||
|
||||
[ -n "$guest_ok" ] && printf "\tguest ok = %s\n" "$guest_ok"
|
||||
[ -n "$inherit_owner" ] && printf "\tinherit owner = %s\n" "$inherit_owner"
|
||||
|
||||
[ -n "$write_list" ] && printf "\twrite list = %s\n" "$write_list"
|
||||
[ -n "$read_list" ] && printf "\tread list = %s\n" "$read_list"
|
||||
|
||||
[ -n "$hide_dot_files" ] && printf "\thide dot files = %s\n" "$hide_dot_files"
|
||||
[ -n "$veto_files" ] && printf "\tveto files = %s\n" "$veto_files"
|
||||
} >> /var/etc/ksmbd/smb.conf
|
||||
}
|
||||
|
||||
init_config()
|
||||
{
|
||||
mkdir -p /var/etc/ksmbd
|
||||
|
||||
config_load ksmbd
|
||||
config_foreach smb_header globals
|
||||
config_foreach smb_add_share share
|
||||
}
|
||||
|
||||
service_triggers()
|
||||
{
|
||||
# PROCD_RELOAD_DELAY=1000
|
||||
|
||||
procd_add_reload_trigger "dhcp" "system" "ksmbd"
|
||||
|
||||
local i
|
||||
for i in $SMBD_IFACE; do
|
||||
procd_add_reload_interface_trigger $i
|
||||
done
|
||||
}
|
||||
|
||||
kill_server()
|
||||
{
|
||||
if [ -e /sys/module/ksmbd ]; then
|
||||
if [ -e /sys/class/ksmbd-control/kill_server ]; then
|
||||
logger -p daemon.info -t 'ksmbd' "triggering kill_server"
|
||||
echo hard > /sys/class/ksmbd-control/kill_server
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
start_service()
|
||||
{
|
||||
init_config
|
||||
|
||||
if [ ! -e /etc/ksmbd/smb.conf ]; then
|
||||
logger -p daemon.error -t 'ksmbd' "missing config /etc/ksmbd/smb.conf!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# NOTE: We don't do a soft-reload via signal, since [global] smb.conf setting changes will be ignored, so always reset hard.
|
||||
kill_server
|
||||
|
||||
[ ! -e /sys/module/ksmbd ] && modprobe ksmbd 2> /dev/null
|
||||
if [ ! -e /sys/module/ksmbd ]; then
|
||||
logger -p daemon.error -t 'ksmbd' "modprobe of ksmbd module failed, can\'t start ksmbd!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
logger -p daemon.notice -t 'ksmbd' "Starting Ksmbd userspace service."
|
||||
procd_open_instance
|
||||
procd_add_mdns "smb" "tcp" "445"
|
||||
procd_set_param command /usr/sbin/ksmbd.mountd --n
|
||||
procd_set_param file /etc/ksmbd/smb.conf
|
||||
procd_set_param limits nofile=16384
|
||||
procd_close_instance
|
||||
}
|
||||
|
||||
stop_service()
|
||||
{
|
||||
logger -p daemon.notice -t 'ksmbd' "Stopping Ksmbd userspace service."
|
||||
killall ksmbd.mountd > /dev/null 2>&1
|
||||
|
||||
[ -e /sys/module/ksmbd ] && rmmod ksmbd > /dev/null 2>&1
|
||||
# kill server if we cant rmmod
|
||||
[ -e /sys/module/ksmbd ] && kill_server
|
||||
# next try
|
||||
[ -e /sys/module/ksmbd ] && rmmod ksmbd > /dev/null 2>&1
|
||||
|
||||
if [ -e /sys/module/ksmbd ]; then
|
||||
logger -p daemon.error -t 'ksmbd' "module still loaded after kill_server?"
|
||||
fi
|
||||
[ -f /tmp/ksmbd.lock ] && rm /tmp/ksmbd.lock
|
||||
}
|
||||
|
||||
# reload_service() {
|
||||
# restart "$@"
|
||||
# }
|
||||
14
package/lean/ksmbd-tools/files/smb.conf.template
Normal file
14
package/lean/ksmbd-tools/files/smb.conf.template
Normal file
@ -0,0 +1,14 @@
|
||||
[global]
|
||||
netbios name = |NAME|
|
||||
server string = |DESCRIPTION|
|
||||
workgroup = |WORKGROUP|
|
||||
interfaces = |INTERFACES|
|
||||
bind interfaces only = yes
|
||||
ipc timeout = 20
|
||||
deadtime = 15
|
||||
map to guest = Bad User
|
||||
smb2 max read = 64K
|
||||
smb2 max write = 64K
|
||||
smb2 max trans = 64K
|
||||
cache read buffers = no
|
||||
cache trans buffers = no
|
||||
9
package/lean/ksmbd-tools/files/smb.service
Normal file
9
package/lean/ksmbd-tools/files/smb.service
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" standalone='no'?>
|
||||
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
|
||||
<service-group>
|
||||
<name replace-wildcards="yes">%h</name>
|
||||
<service>
|
||||
<type>_smb._tcp</type>
|
||||
<port>445</port>
|
||||
</service>
|
||||
</service-group>
|
||||
70
package/lean/ksmbd/Makefile
Normal file
70
package/lean/ksmbd/Makefile
Normal file
@ -0,0 +1,70 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ksmbd
|
||||
PKG_VERSION:=3.1.3
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
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_LICENSE:=GPL-2.0-or-later
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
TAR_OPTIONS+= --strip-components 1
|
||||
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
|
||||
|
||||
define KernelPackage/fs-ksmbd
|
||||
SUBMENU:=Filesystems
|
||||
TITLE:=SMB kernel server support
|
||||
URL:=https://github.com/cifsd-team/cifsd
|
||||
FILES:=$(PKG_BUILD_DIR)/ksmbd.ko
|
||||
DEPENDS:= \
|
||||
+kmod-nls-base \
|
||||
+kmod-nls-utf8 \
|
||||
+kmod-crypto-md4 \
|
||||
+kmod-crypto-md5 \
|
||||
+kmod-crypto-hmac \
|
||||
+kmod-crypto-arc4 \
|
||||
+kmod-crypto-ecb \
|
||||
+kmod-crypto-des \
|
||||
+kmod-crypto-sha256 \
|
||||
+kmod-crypto-cmac \
|
||||
+kmod-crypto-sha512 \
|
||||
+kmod-crypto-aead \
|
||||
+kmod-crypto-ccm \
|
||||
+kmod-crypto-gcm
|
||||
endef
|
||||
|
||||
define KernelPackage/fs-ksmbd/description
|
||||
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.
|
||||
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
|
||||
$(KERNEL_MAKE) SUBDIRS="$(PKG_BUILD_DIR)" \
|
||||
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
|
||||
$(PKG_EXTRA_KCONFIG) \
|
||||
CONFIG_SMB_SERVER=m \
|
||||
modules
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,fs-ksmbd))
|
||||
10
package/lean/ksmbd/patches/01-keep_kmod_metadata.patch
Normal file
10
package/lean/ksmbd/patches/01-keep_kmod_metadata.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- a/glob.h 2019-12-08
|
||||
+++ b/glob.h 2019-12-08
|
||||
@@ -7,6 +7,8 @@
|
||||
#ifndef __KSMBD_GLOB_H
|
||||
#define __KSMBD_GLOB_H
|
||||
|
||||
+#undef CONFIG_MODULE_STRIPPED
|
||||
+
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/version.h>
|
||||
@ -3,11 +3,11 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
LUCI_TITLE:=Network Shares - CIFSD CIFS/SMB kernel fileserver
|
||||
LUCI_DEPENDS:=+cifsd-tools
|
||||
LUCI_DEPENDS:=+ksmbd-server
|
||||
LUCI_PKGARCH:=all
|
||||
PKG_NAME:=luci-app-cifsd
|
||||
PKG_VERSION:=1
|
||||
PKG_RELEASE:=5
|
||||
PKG_RELEASE:=6
|
||||
|
||||
include $(TOPDIR)/feeds/luci/luci.mk
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
module("luci.controller.cifsd", package.seeall)
|
||||
|
||||
function index()
|
||||
if not nixio.fs.access("/etc/config/cifsd") then
|
||||
if not nixio.fs.access("/etc/config/ksmbd") then
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
-- Licensed to the public under the Apache License 2.0.
|
||||
|
||||
m = Map("cifsd", translate("Network Shares (CIFSD)"))
|
||||
m = Map("ksmbd", translate("Network Shares (CIFSD)"))
|
||||
|
||||
s = m:section(TypedSection, "globals", translate("CIFSD is an opensource In-kernel SMB1/2/3 server"))
|
||||
s.anonymous = true
|
||||
@ -8,28 +8,26 @@ s.anonymous = true
|
||||
s:tab("general", translate("General Settings"))
|
||||
s:tab("template", translate("Edit Template"))
|
||||
|
||||
s:taboption("general", Value, "description", translate("Description"))
|
||||
|
||||
o = s:taboption("general", Value, "workgroup", translate("Workgroup"))
|
||||
o.placeholder = 'WORKGROUP'
|
||||
|
||||
s:taboption("general", Value, "description", translate("Description"))
|
||||
|
||||
|
||||
tmpl = s:taboption("template", Value, "_tmpl",
|
||||
translate("Edit the template that is used for generating the cifsd configuration."),
|
||||
translate("This is the content of the file '/etc/cifs/smb.conf.template' from which your cifsd configuration will be generated. \
|
||||
translate("This is the content of the file '/etc/ksmbd/smb.conf.template' from which your cifsd configuration will be generated. \
|
||||
Values enclosed by pipe symbols ('|') should not be changed. They get their values from the 'General Settings' tab."))
|
||||
|
||||
tmpl.template = "cbi/tvalue"
|
||||
tmpl.rows = 20
|
||||
|
||||
function tmpl.cfgvalue(self, section)
|
||||
return nixio.fs.readfile("/etc/cifs/smb.conf.template")
|
||||
return nixio.fs.readfile("/etc/ksmbd/smb.conf.template")
|
||||
end
|
||||
|
||||
function tmpl.write(self, section, value)
|
||||
value = value:gsub("\r\n?", "\n")
|
||||
nixio.fs.writefile("//etc/cifs/smb.conf.template", value)
|
||||
nixio.fs.writefile("/etc/ksmbd/smb.conf.template", value)
|
||||
end
|
||||
|
||||
|
||||
@ -83,5 +81,4 @@ dm.rmempty = true
|
||||
dm.size = 4
|
||||
dm.default = "0777"
|
||||
|
||||
|
||||
return m
|
||||
|
||||
@ -97,12 +97,12 @@ msgstr "共享目录"
|
||||
|
||||
#: applications/luci-app-cifsd/htdocs/luci-static/resources/view/cifsd.js:35
|
||||
msgid ""
|
||||
"This is the content of the file '/etc/cifs/smb.conf.template' from which "
|
||||
"This is the content of the file '/etc/ksmbd/smb.conf.template' from which "
|
||||
"your cifsd configuration will be generated. Values enclosed by pipe symbols "
|
||||
"('|') should not be changed. They get their values from the 'General "
|
||||
"Settings' tab."
|
||||
msgstr ""
|
||||
"这是将从其上生成 cifsd 配置的文件“/etc/cifs/smb.conf.template”的内容。由管道"
|
||||
"这是将从其上生成 cifsd 配置的文件“/etc/ksmbd/smb.conf.template”的内容。由管道"
|
||||
"符(“|”)包围的值不应更改。它们将从“常规设置”标签中获取其值。"
|
||||
|
||||
#: applications/luci-app-cifsd/htdocs/luci-static/resources/view/cifsd.js:27
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
delete ucitrack.@cifsd[-1]
|
||||
add ucitrack cifsd
|
||||
set ucitrack.@cifsd[-1].init=cifsd
|
||||
delete ucitrack.@ksmbd[-1]
|
||||
add ucitrack ksmbd
|
||||
set ucitrack.@ksmbd[-1].init=ksmbd
|
||||
commit ucitrack
|
||||
EOF
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=v2ray
|
||||
PKG_VERSION:=4.22.1
|
||||
PKG_RELEASE:=6
|
||||
PKG_RELEASE:=8
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/v2ray-core-$(PKG_VERSION)
|
||||
|
||||
PKG_SOURCE:=v2ray-core-$(PKG_VERSION).tar.gz
|
||||
@ -61,7 +61,7 @@ GO_PKG:=v2ray.com/core
|
||||
GO_PKG_LDFLAGS:=-s -w
|
||||
GO_PKG_LDFLAGS_X:= \
|
||||
v2ray.com/core.version=$(PKG_VERSION) \
|
||||
v2ray.com/core.build=R$(PKG_RELEASE) \
|
||||
v2ray.com/core.build=Lean \
|
||||
v2ray.com/core.codename=OpenWrt
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=wsdd2
|
||||
PKG_RELEASE:=3
|
||||
PKG_RELEASE:=5
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/Andy2244/wsdd2.git
|
||||
PKG_SOURCE_DATE:=2018-07-24
|
||||
PKG_SOURCE_VERSION:=2c31ba3b720af81848c47dff7ad7c6c30c0c0f50
|
||||
PKG_MIRROR_HASH:=eb903a870d99c6001996dbfc22c15e1020278c45ed2441ceb61bc5395f417afa
|
||||
PKG_SOURCE_DATE:=2019-12-15
|
||||
PKG_SOURCE_VERSION:=8bcc0c1a42767ba518977a7104fe934f5d89ef31
|
||||
PKG_MIRROR_HASH:=4eace9130b7e1ddbc5b965fa51286532d3ee2ee14bcd2e116840c7d6d48ad9bc
|
||||
|
||||
PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
|
||||
PKG_LICENSE:=GPL-3.0-only
|
||||
|
||||
@ -3,15 +3,84 @@
|
||||
START=99
|
||||
USE_PROCD=1
|
||||
|
||||
SMB_CONF=""
|
||||
BIND_IF_PARM=""
|
||||
NB_PARM=""
|
||||
WG_PARM=""
|
||||
BI_PARM=""
|
||||
|
||||
start_service() {
|
||||
procd_open_instance
|
||||
procd_set_param command /usr/bin/wsdd2 -w
|
||||
|
||||
. /lib/functions/network.sh
|
||||
|
||||
if [ -e /etc/ksmbd/smb.conf ] && [ -e /etc/init.d/ksmbd ] && /etc/init.d/ksmbd running; then
|
||||
SMB_CONF="/etc/ksmbd/smb.conf"
|
||||
fi
|
||||
|
||||
if [ -e /etc/samba/smb.conf ]; then
|
||||
if [ -e /etc/init.d/samba4 ] && /etc/init.d/samba4 running; then
|
||||
SMB_CONF="/etc/samba/smb.conf"
|
||||
elif [ -e /etc/init.d/samba ] && /etc/init.d/samba running; then
|
||||
SMB_CONF="/etc/samba/smb.conf"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$SMB_CONF" ]; then
|
||||
logger -p daemon.error -t 'wsdd2' "samba36/4 or ksmbd is not running, can't start wsdd2!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local nb_name
|
||||
nb_name="$(grep -i 'netbios name' $SMB_CONF | awk -F'=' '{print $2}' | tr -d ' \n')"
|
||||
if [ -n "$nb_name" ]; then
|
||||
NB_PARM="-N $nb_name"
|
||||
else
|
||||
local hostname
|
||||
hostname="$(cat /proc/sys/kernel/hostname)"
|
||||
NB_PARM="-N $hostname"
|
||||
fi
|
||||
|
||||
local wg_name
|
||||
wg_name="$(grep -i 'workgroup' $SMB_CONF | awk -F'=' '{print $2}' | tr -d ' \n')"
|
||||
if [ -n "$wg_name" ]; then
|
||||
WG_PARM="-G $wg_name"
|
||||
else
|
||||
WG_PARM="-G WORKGROUP"
|
||||
fi
|
||||
|
||||
# resolve lan interface (BUG: No multi-interface binds atm)
|
||||
local ifname
|
||||
if network_get_device ifname lan; then
|
||||
BIND_IF_PARM="-i $ifname"
|
||||
fi
|
||||
|
||||
local board_vendor
|
||||
local board_model
|
||||
local board_sku
|
||||
|
||||
if [ -e /tmp/sysinfo/board_name ]; then
|
||||
board_vendor="$(cat /tmp/sysinfo/board_name | awk -F',' '{print $1}' | tr ' ' '_' | tr -d ' \n')"
|
||||
board_sku="$(cat /tmp/sysinfo/board_name | awk -F',' '{print $2}' | tr ' ' '_' | tr -d ' \n')"
|
||||
fi
|
||||
if [ -e /tmp/sysinfo/model ]; then
|
||||
board_model="$(cat /tmp/sysinfo/model | tr ' ' '_' | tr -d ' \n')"
|
||||
fi
|
||||
if [ -n "$board_vendor" ] && [ -n "$board_model" ]; then
|
||||
if [ -n "$board_sku" ]; then
|
||||
BI_PARM="-b vendor:$board_vendor,model:$board_model,sku:$board_sku"
|
||||
else
|
||||
BI_PARM="-b vendor:$board_vendor,model:$board_model"
|
||||
fi
|
||||
fi
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command /usr/bin/wsdd2 -w $BIND_IF_PARM $NB_PARM $WG_PARM $BI_PARM
|
||||
procd_set_param respawn
|
||||
procd_set_param file /var/etc/smb.conf
|
||||
procd_set_param file $SMB_CONF
|
||||
procd_close_instance
|
||||
}
|
||||
|
||||
service_triggers() {
|
||||
PROCD_RELOAD_DELAY=3000
|
||||
procd_add_reload_trigger "dhcp" "system" "samba4"
|
||||
PROCD_RELOAD_DELAY=1000
|
||||
procd_add_reload_trigger "dhcp" "system" "samba" "samba4" "ksmbd"
|
||||
}
|
||||
|
||||
@ -1,25 +0,0 @@
|
||||
--- a/wsd.c 2018-07-24
|
||||
+++ b/wsd.c 2018-09-10
|
||||
@@ -96,13 +96,19 @@ static void uuid_endpoint(char *uuid, si
|
||||
{
|
||||
FILE *fp = fopen("/etc/machine-id", "r");
|
||||
int c, i = 0;
|
||||
+
|
||||
+ if (!fp) {
|
||||
+ fp = fopen("/proc/sys/kernel/random/boot_id", "r");
|
||||
+ }
|
||||
|
||||
- if (!fp)
|
||||
+ if (!fp) {
|
||||
+ DEBUG(0, W, "Can't open required '/etc/machine-id' or '/proc/sys/kernel/random/boot_id'");
|
||||
return;
|
||||
+ }
|
||||
|
||||
while (i < 36 && (c = getc(fp)) != EOF &&
|
||||
- (isdigit(c) || (islower(c) && isxdigit(c)))) {
|
||||
- if (i == 8 || i == 13 || i == 18 || i == 23)
|
||||
+ ((c == '-') || isdigit(c) || (islower(c) && isxdigit(c)))) {
|
||||
+ if ((c != '-') && (i == 8 || i == 13 || i == 18 || i == 23))
|
||||
uuid[i++] = '-';
|
||||
uuid[i++] = c;
|
||||
}
|
||||
@ -7,11 +7,11 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=upx
|
||||
PKG_VERSION:=3.96
|
||||
PKG_VERSION:=3.95
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-src.tar.xz
|
||||
PKG_SOURCE_URL:=https://github.com/upx/upx/releases/download/v$(PKG_VERSION)
|
||||
PKG_HASH:=47774df5c958f2868ef550fb258b97c73272cb1f44fe776b798e393465993714
|
||||
PKG_HASH:=3b0f55468d285c760fcf5ea865a070b27696393002712054c69ff40d8f7f5592
|
||||
|
||||
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)-src
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user