3 # Copyright (C) 2018 OpenWrt.org
4 # Copyright (C) 2018 rosysong@rosinson.com
13 samba_dev_filter
() { # <devname> <[path,/dev/]>
27 FLAG_DEV_TYPE
="not-mtd"
30 [ -b ${2}${1} ] && FLAG_DEV_TYPE
="not-mtd"
31 [ -b /dev
/mapper
/$1 ] && FLAG_DEV_TYPE
="not-mtd"
36 samba_cfg_lookup
() { # <section> <name>
37 config_get name
$1 name
38 [ "$name" = "$2" ] ||
return
42 samba_cfg_delete
() { # <section> <name>
43 config_get name
$1 name
44 [ "$name" = "$2" ] ||
return
45 uci
-q delete samba.
$1
48 samba_find_mount_point
() { # <devname>
49 # search mount point in /proc/mounts
51 local d
=$
(echo $l |
awk '/^\/dev/ {print $1}')
52 [ "$d" = "/dev/$1" ] ||
continue
54 FLAG_DEV_MOPT
=$
(echo $l |
awk '/^\/dev/ {print $2}')
59 _samba_add_section
() { # <devname> <mount point>
62 set samba.@sambashare[-1].browseable='yes'
63 set samba.@sambashare[-1].name='$1'
64 set samba.@sambashare[-1].path='$2'
65 set samba.@sambashare[-1].users='root'
66 set samba.@sambashare[-1].read_only='no'
67 set samba.@sambashare[-1].guest_ok='yes'
68 set samba.@sambashare[-1].create_mask='0755'
69 set samba.@sambashare[-1].dir_mask='0755'
73 samba_add_section
() { # <devname> [<mount point>]
77 config_foreach samba_cfg_lookup sambashare
$1
78 [ -z "$FLAG_HAS_SECT" ] ||
return
80 samba_find_mount_point
$1
81 [ -n "$FLAG_DEV_MOPT" ] ||
return
83 [ -n "$2" -a "$2" = "$FLAG_DEV_MOPT" ] || \
84 _samba_add_section
$1 $FLAG_DEV_MOPT
87 samba_delete_section
() { # <devname>
88 config_foreach samba_cfg_delete sambashare
$1