Cifsd - in kernel daemon

Greetings,

I see references to cifsd in GIT. Is this the strategic direction (instead of Samba)? How can I install/configure this on a recent version of 19.07-SNAPSHOT?


The problem with samba4 is size, you can barely fit it into devices with 16 MB flash…

can use exroot but when installed it will error dependency

Sounds interesting because when a dependency error shows it won't install. Therefore it can't throw that error if already installed.

Anyway... Already tried to update the package feeds before installing?

Looks like cifsd was not backported to 19.07, which is unfortunate.

Currently, it lacks a LuCI frontend, which limits its use for GUI people.

It also lacks testing on big endian hardware, like ar71xx or ath79. This is BADLY needed. I helped test it initially when it didn't even work. I don't know if it still does.

Installing luci-app-cifsd (git-19.312.54336-a987e21-1) to root...
Downloading http://downloads.openwrt.org/releases/19.07.0-rc1/packages/mips_24kc/luci/luci-app-cifsd_git-19.312.54336-a987e21-1_all.ipk
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for luci-app-cifsd:
 * 	cifsd-tools
 * opkg_install_cmd: Cannot install package luci-app-cifsd.
WARNING: Makefile 'package/feeds/luci/luci-app-cifsd/Makefile' has a dependency on 'cifsd-tools', which does not exist
WARNING: Makefile 'package/feeds/luci/luci-proto-modemmanager/Makefile' has a dependency on 'modemmanager', which does not exist
tmp/.config-package.in:104620:error: recursive dependency detected!
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
tmp/.config-package.in:104620:symbol PACKAGE_nfs-kernel-server depends on NFS_KERNEL_SERVER_V4
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
feeds/packages/net/nfs-kernel-server/Config.in:4:symbol NFS_KERNEL_SERVER_V4 depends on PACKAGE_nfs-kernel-server

Oh this is amusing. 19.07 has luci-app-cifsd but does not have cifsd or cifsd-tools...........

it's strange why it can be found on 19.07 if it can't be used, it's better to delete it in the stable version

or backport cifsd to 19.07. I would like that it be tested on big endian before that.

ping @Andy2244

That's because i just learned about this in this thread, Richard Yu committed the luci code a few weeks ago, but never pinged me about it (ping @ysc3839 ?). So i had no clue there is luci-mod-cifsd available already.

Yeah still working on this, the plan was to get this backported to 19.07 with my luci stuff.

PS: Just did a quick review of the existing luci code, seems he used javascript instead of lua for the page, since i want samba4/cifsd to work similar (maintenance) i need to check what version i want to use and either change the luci code back to lua or switch the samba4 code to javascript.
@neheb is there a preferred language to-do luci modules nowadays or is it just maintainer preference? Do both versions (lua, js) have access to the same api's/functions?

Mhh javascript is only mentioned on the luci2 stuff, so is this module written for luci2? I'm confused what the state here is? The documentation seems outdated and states:

LuCI2 is still experimental. Its predecessor is still used by default in all builds, including the trunk.

then I hope it will be fixed quickly so that it can be used

LuCI an 19.07 and master moved some things to client side JS. It is unrelated to LuCI2 but borrows many features from it.

Ah oki i checked some of those new .js mods and the actual page seems similar enough. Yet i noticed those extra luci defaults and acl files under /root? Whats the deal with those, seems we need to define those now too if used with the .js stuff?

So i assume the .js stuff is the new way to-do luci and is preferred now (aka performance)?

The client side JS will communicate with the device solely through ubus-rpc, which is governed by extra ACLs which restrict the methods which can be invoked from an (authenticated) client.

ok thanks, will play around with this a bit and try to switch samba4 to it, so cifsd/samba4 use the same luci stuff.

PS: Except for the auto-docs (http://openwrt.github.io/luci/jsapi/index.html) is there a new docu for the stuff and do i use the same i18 scripts for the translation stuff?

Translations work exactly as before.

Sorry for my mistake.

And I can help porting samba4 to client side.

Thanks, trying to figure this out myself and if i can now somehow dynamically hide some share options (MacOS stuff). I also want to add some version info, so its easier to report the version/git-number on problems.

PS: Still not sure if i want to rename the "Network Shares" section per package (cifsd/samba4) since technically you could run both at the same time. What happens than, do we get two "Network Shares" entries or is the later overwriting the first?

1 Like