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