2 Commits

Author SHA1 Message Date
Ishaan Kapur
677a4592b1 feat(ufw): complete route rule actions (#13848) 2026-07-07 10:49:59 +02:00
kapil971390
8c8782e362 fix(josh): escape % in branch before computing branch_size (#13835)
Co-authored-by: kapilvus <kapilvus@gmail.com>
2026-07-07 10:47:59 +02:00
3 changed files with 47 additions and 1 deletions

View File

@@ -16,3 +16,4 @@ Some of the commands include:
* `deny <port>/<optional: protocol>` add deny rule
* `disable` disables the firewall
* `enable` enables the firewall
* `route` add route rule

View File

@@ -31,6 +31,7 @@ _1st_arguments=(
'reject:add reject rule'
'reload:reloads firewall'
'reset:reset firewall'
'route:add route rule'
'show:show firewall report'
'status:show firewall status'
'version:display version information'
@@ -43,6 +44,7 @@ _arguments -C \
'1:: :->cmds' \
'2:: :->subcmds' \
'3:: :->subsubcmds' \
'4:: :->subsubsubcmds' \
&& return 0
local rules
@@ -83,6 +85,17 @@ case "$state" in
'raw' 'builtins' 'before-rules' 'user-rules' 'after-rules' 'logging-rules' 'listening' 'added' \
&& ret=0
;;
(route)
_values 'route' \
'delete[delete route rule]' \
'insert[insert route rule at NUM]' \
'prepend[prepend route rule]' \
'allow[add allow route rule]' \
'deny[add deny route rule]' \
'reject[add reject route rule]' \
'limit[add limit route rule]' \
&& ret=0
;;
(delete)
rules="$(_ufw_delete_rules)"
if [[ -n "$rules" ]] ; then
@@ -109,6 +122,37 @@ case "$state" in
'incoming' 'outgoing' \
&& ret=0
;;
(route)
case "$line[2]" in
(delete|prepend)
_values 'route-action' \
'allow[route allow rule]' \
'deny[route deny rule]' \
'reject[route reject rule]' \
'limit[route limit rule]' \
&& ret=0
;;
(insert)
_message 'route rule number'
;;
esac
;;
esac
;;
(subsubsubcmds)
case "$line[1]" in
(route)
case "$line[2]" in
(insert)
_values 'route-action' \
'allow[route allow rule]' \
'deny[route deny rule]' \
'reject[route reject rule]' \
'limit[route limit rule]' \
&& ret=0
;;
esac
;;
esac
esac

View File

@@ -10,6 +10,7 @@ function josh_prompt {
prompt=" "
branch=$(git_current_branch)
branch="${branch//\%/%%}"
ruby_version=$(ruby_prompt_info)
path_size=${#PWD}
branch_size=${#branch}
@@ -31,7 +32,7 @@ function josh_prompt {
prompt=" $prompt"
done
prompt="%{%F{green}%}$PWD$prompt%{%F{red}%}$(ruby_prompt_info)%{$reset_color%} ${branch//\%/%%}"
prompt="%{%F{green}%}$PWD$prompt%{%F{red}%}$(ruby_prompt_info)%{$reset_color%} ${branch}"
echo $prompt
}