diff -up smeserver-tftp-server-1.2/root/etc/e-smith/db/configuration/defaults/tftpd/user.refuse smeserver-tftp-server-1.2/root/etc/e-smith/db/configuration/defaults/tftpd/user --- smeserver-tftp-server-1.2/root/etc/e-smith/db/configuration/defaults/tftpd/user.refuse 2006-04-04 09:12:17.000000000 +1000 +++ smeserver-tftp-server-1.2/root/etc/e-smith/db/configuration/defaults/tftpd/user 2016-03-17 22:15:14.000000000 +1100 @@ -1 +1 @@ -root \ No newline at end of file +nobody diff -up smeserver-tftp-server-1.2/root/var/service/tftpd/run.refuse smeserver-tftp-server-1.2/root/var/service/tftpd/run --- smeserver-tftp-server-1.2/root/var/service/tftpd/run.refuse 2006-01-21 23:56:00.000000000 +1100 +++ smeserver-tftp-server-1.2/root/var/service/tftpd/run 2016-03-17 22:15:14.000000000 +1100 @@ -11,6 +11,7 @@ #PROP: timeout: VALUES: default/300 (secounds, 900 is the default) #PROP: UDPPort: VALUES: 69 #PROP: directory VALUES: /tftpboot (or any other directory) +#PROP: refuse VALUES: (any tftp option that you need to disable) TFTPD_STATUS=$(/sbin/e-smith/db configuration getprop tftpd status); if [ $TFTPD_STATUS == "enabled" ]; then @@ -21,35 +22,43 @@ if [ $TFTPD_STATUS == "enabled" ]; then TFTPD_TIMEOUT=$(/sbin/e-smith/db configuration getprop tftpd timeout); TFTPD_UDPPORT=$(/sbin/e-smith/db configuration getprop tftpd UDPPort); TFTPD_DIRECTORY=$(/sbin/e-smith/db configuration getprop tftpd directory); + TFTPD_REFUSE=$(/sbin/e-smith/db configuration getprop tftpd refuse); + TFTPD_ACCESS_SETTING="127.0.0.1"; if [ $TFTPD_ACCESS == "public" ]; then - TFTPD_ACCESS_SETTING='0.0.0.0'; + TFTPD_ACCESS_SETTING="0.0.0.0"; elif [ $TFTPD_ACCESS == "private" ]; then TFTPD_ACCESS_SETTING=$(/sbin/e-smith/db configuration get LocalIP); - else - TFTPD_ACCESS_SETTING='127.0.0.1'; fi + TFTPD_LOG_SETTING="-v"; if [ $TFTPD_LOG == "verbose" ]; then - TFTPD_LOG_SETTING='-vv'; - elif [ $TFTPD_LOG == "normal" ]; then - TFTPD_LOG_SETTING='-v'; + TFTPD_LOG_SETTING="-vv"; + elif [ $TFTPD_LOG == "disabled" ]; then + TFTPD_LOG_SETTING=""; fi + TFTPD_PRIVILEGE_SETTING="" if [ $TFTPD_PRIVILEGE == "rw" ]; then - TFTPD_PRIVILEGE_SETTING='-c'; + TFTPD_PRIVILEGE_SETTING="-c"; fi + TFTPD_TIMEOUT_SETTING="" if [ $TFTPD_TIMEOUT != "default" ]; then TFTPD_TIMEOUT_SETTING="-t $TFTPD_TIMEOUT"; fi + TFTPD_REFUSE_SETTING="" + if [ $TFTPD_REFUSE != "" ]; then + TFTPD_REFUSE_SETTING="-r $TFTPD_REFUSE"; + fi + cd / exec 2>&1 - exec udpsvd -h $TFTPD_LOG_SETTING -u$TFTPD_USER \ + exec udpsvd -h $TFTPD_LOG_SETTING \ $TFTPD_ACCESS_SETTING $TFTPD_UDPPORT \ in.tftpd $TFTPD_LOG_SETTING $TFTPD_PRIVILEGE_SETTING \ - -u $TFTPD_USER $TFTPD_TIMEOUT_SETTING -s $TFTPD_DIRECTORY + -u $TFTPD_USER $TFTPD_TIMEOUT_SETTING $TFTPD_REFUSE_SETTING -s $TFTPD_DIRECTORY else /usr/bin/runsvctrl down . fi