summary refs log tree commit diff stats
path: root/Makefile
diff options
context:
space:
mode:
authorAlexander Buddenbrock <a.buddenbrock@ish.de>2015-02-12 16:14:33 +0100
committerAlexander Buddenbrock <a.buddenbrock@ish.de>2015-02-12 16:14:33 +0100
commit9c1f5c2a8c3c803c003babc67e2a933d663315ca (patch)
treea30acace2aa5e6856d3a2f418e708e4cce7df8f2 /Makefile
parente37671c0e87a2406eb1199ba458b9020642f9ce9 (diff)
downloadranger-9c1f5c2a8c3c803c003babc67e2a933d663315ca.tar.gz
Fix renaming with insufficient privileges
Closes #97
When renaming a file, the internal file pointer will be set to the new
file name without checking if the file actually got renamed. This would
cause the file pointer to be set to an invalid file if renaming failed
because of bad privileges. With no valid file, the previev window will
disappear. This patch adds a return value to the core renaming method so
it can be checking by the caller. The rename command now checks if the
rename succeeded and only then sets the new file pointer.
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions
ht .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
#!/bin/sh
#
# /etc/rc.d/net: start/stop network interface
#

DEV="br0"

ADDR=10.0.0.254
NET=10.0.0.0
GW=192.168.1.254
MASK=24

# one tap for each cpu core
NTAPS=$((`/usr/bin/nproc`))

case $1 in
    start)
        /sbin/ip link add name ${DEV} type bridge
        /sbin/ip addr add ${ADDR}/${MASK} dev ${DEV} broadcast +
        /sbin/ip link set dev ${DEV} up
        /bin/sleep 0.2s

        for i in `/usr/bin/seq $NTAPS`
        do
            TAP="tap$i"
            echo "Setting up ${TAP} tap interface."
            /sbin/ip tuntap add ${TAP} mode tap group kvm
            /sbin/ip link set ${TAP} up
            /bin/sleep 0.2s
            /sbin/ip link set ${TAP} master ${DEV}
        done

        exit 0
        ;;
    stop)

        for i in `/usr/bin/seq $NTAPS`
        do
            TAP="tap$i"
            echo "Deleting ${TAP} tap interface."
            /sbin/ip link del ${TAP}
        done

        /sbin/ip link set dev ${DEV} down
        /sbin/ip route flush dev ${DEV}
        /sbin/ip link del ${DEV}
        exit 0
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 [start|stop|restart]"
        ;;
esac

# End of file