Commit graph

118 commits

Author SHA1 Message Date
zawz
1ffb2f8b2e fix segfaults and readonly debashify 2021-02-26 16:01:20 +01:00
zawz
931590a334 implement associative array debashifying + shellcode building process 2021-02-26 15:18:17 +01:00
zawz
fd4c1b0d05 major changes:
structure: remove manipulation class integrate into variable class
debashify: implement debashify on indexed arrays
parsing: can now parse manipulations in arithmetics
2021-02-17 17:00:12 +01:00
zawz
65083d09b4 fix parse on cmdvar not stopping at | 2021-02-16 15:07:46 +01:00
zawz
28e8503b86 fix special variables in arithmetics 2021-02-16 15:07:09 +01:00
zawz
3b10ce9e52 add missing parsing: parse and missing operatiors in arithmetics 2021-02-12 14:45:47 +01:00
zawz
652e238c64 fix segfault on resolve in specific cases 2021-02-12 14:45:02 +01:00
zawz
f4907b4e4d fix missing indent on elif and case generation bug 2021-02-12 14:43:46 +01:00
zawz
2afd8b20c6 add -J option 2021-02-12 14:43:08 +01:00
zawz
6c3db57dde incomplete empty variable fix 2021-02-12 10:33:51 +01:00
zawz
8c89f25c21 fix empty variables deleted on --remove-unused 2021-02-12 10:21:57 +01:00
zawz
d9b42cd7a2 include 'getopts' as cmdvar 2021-02-12 10:19:09 +01:00
zawz
8e79e10e60 remove non-generation of redirects in empty commands 2021-02-10 13:55:58 +01:00
zawz
7d26587dd2 implement var_assign structure to cmdvar + added internal json structure generator 2021-02-05 14:42:46 +01:00
zawz
9342464590 internal: modify var_assign structure 2021-02-03 15:05:48 +01:00
zawz
53d8ce01ce implement missing operator replacements in debashify [[ 2021-02-03 15:01:47 +01:00
zawz
b56e7d09f9 fix shebang not resolved correctly on #!/bin/env 2021-02-03 14:59:39 +01:00
zawwz
5968068989 replace [[ debashify 'echo|grep' into 'expr' 2021-01-20 16:59:27 +01:00
zawwz
c12ec601f1 implement [[ ]] debashify 2021-01-20 16:31:31 +01:00
zawwz
9c2f3c91f9 implement bash specific var=() parsing 2021-01-20 12:03:32 +01:00
zawwz
2ffe4ddf2f implement internal variable structure 2021-01-20 11:49:32 +01:00
zawwz
7114a39fe3 implement arithmetic parsing and processing 2021-01-15 16:34:47 +01:00
zawwz
1b0c97f5bb implement debashify on <<< herestring 2021-01-08 15:57:42 +01:00
zawwz
142a91e68a restructure struc functions 2021-01-08 15:03:25 +01:00
zawwz
6f35028e84 fix variable processing broken on debashified process substitution 2021-01-08 12:02:04 +01:00
zawwz
51b2648c94 Unify shebang on debashify 2021-01-08 11:45:28 +01:00
zawwz
f99f40b3e8 Implement debashify of <() (process substitution) 2021-01-08 11:38:25 +01:00
zawwz
576ce0c4ed fix issue on <() parsing + add debug NO_PARSE_CATCH 2021-01-08 11:07:20 +01:00
zawwz
2a86e06551 Remove trailing space on empty commands 2021-01-06 16:46:43 +01:00
zawwz
2b1e7c008b restructure struc object extensions 2021-01-06 16:37:08 +01:00
zawwz
44d71155cc Add --no-shebang option 2021-01-06 14:49:20 +01:00
zawwz
5944fa7cc6 missing shebang change on --debashify 2021-01-06 14:38:27 +01:00
zawwz
36dfd9266e Implement <() bash process substitution 2021-01-06 12:15:31 +01:00
zawwz
c199969b63 first debashify implementation: replace &> and >& redirects 2021-01-06 11:10:45 +01:00
zawwz
afa07b3c5e Prepare debashify: implement bash specific parsing 2021-01-06 10:14:08 +01:00
zawwz
4e137ab35e Fix generate bug on empty commands 2021-01-06 10:07:04 +01:00
zawwz
46047f2a88 Reorganize secondary option processing to run before first parse 2021-01-06 10:06:04 +01:00
zawwz
ebce56c29c fix bug on minimizing collisions on 'unset' with bash 2020-12-11 12:28:09 +01:00
zawwz
6620fb42ff Add --unset-var option 2020-11-27 11:03:55 +01:00
zawwz
b4a99d366d Restructure files: separate processing utilities 2020-11-27 10:32:32 +01:00
zawz
7e5c505a3f Extend minimize and processing
+ Add --no-exclude-reserved option
+ Add --list-var-dev and --list-var-call options
+ --remove-unused now also removes unused variables
+ --remove-unused now removes recursively
2020-11-25 16:55:35 +01:00
zawz
b3f02ce06d Optimize var operations on get argument var definitions 2020-11-20 22:19:28 +01:00
zawz
806580ac2a Fix gcc compile bug due to external defined inline 2020-11-19 16:53:41 +01:00
zawz
1a5bbd7986 implement redirect parsing and minimizing 2020-11-19 16:51:26 +01:00
zawz
26b21f0214 Fix broken parsing 2020-11-14 18:23:34 +01:00
zawz
4cb502182e Fix some parsing errors resulting in unwanted behaviour 2020-11-14 17:57:02 +01:00
zawz
1a195e777c Fix always exit 2020-11-14 17:32:09 +01:00
zawz
144ff45830 Add version option 2020-11-14 17:21:47 +01:00
zawz
ca114a8ea0 Reorder options 2020-11-14 16:23:36 +01:00
zawz
78d3595989 Fix broken autodetect execution 2020-11-13 16:49:34 +01:00
zawz
d33ff9e13b fix incorrect include 2020-11-13 15:19:47 +01:00
zawz
a0155991e3 Performance optimizations
- Replaced some exec() calls with functions
- Removed resolved code being resolved again
- Removed empty string subargs inserted upon parsing
2020-11-13 15:18:30 +01:00
zawz
5a7c2e0bf0 add ${} parsing 2020-11-10 18:01:51 +01:00
zawz
99957ee3e5 Fix reserved vars not being excluded when no --exclude-var specified 2020-11-06 18:20:13 +01:00
zawz
ee05577a2d Fix missing option exclude rename 2020-11-06 17:46:32 +01:00
zawz
dda4a87b28 Rename exclude options + minor code reformat 2020-11-06 17:43:37 +01:00
zawz
a777608f08 minor var minimize fixes
~ OPTING and OPTARG reserved
+ Add command read to variable argument parse
2020-11-06 17:07:18 +01:00
zawz
c971b4e424 Major rework
~ Altered internal structure
~ Changed processing method to recursive function
~ Changed %include/%resolve
+ Output mode now reads multiple arguments
+ Toggleable include/resolve
+ Added variable and function processing (list/minimize)
- Remove some options for %include/%resolve
~ Many minor behaviour changes
2020-11-06 16:35:36 +01:00
zawz
26f9ee60c4 Fix segfault on -e with no arguments 2020-10-21 15:58:06 +02:00
zawz
2ec3eab75e fix bug on minimized %include 2020-10-21 15:47:57 +02:00
zawz
8c85658297 Fix 0 being condsidered as comment 2020-10-21 15:31:54 +02:00
zawz
6350e1cfef Major rework
+ Move to pointers internally (performance improvement)
+ Polymorphic internal classes (performance improvement)
+ Add if/for/while parsing
2020-10-20 14:41:59 +02:00
zawz
374647e30a Fix multi case value 2020-09-30 15:59:40 +02:00
Mateo Feron
72a77c7088 Improve direct execution
+ Add -o option
+ Add shebang analysis
+ Implement missing cleanup
2020-09-02 12:03:07 +02:00
Mateo Feron
01244e6ab1 Add basic arithmetic parse 2020-09-02 10:33:34 +02:00
Mateo Feron
577a1aef94 Improve parsing errors 2020-09-01 17:11:21 +02:00
zawz
af1de6d8fb Extend options
+ Add global -E option
+ Add %include -e option
~ Move -C option to %include and %resolve
+ Improve comments and messages
2020-08-28 14:46:42 +02:00
zawz
ca41c27246 Init sources 2020-08-28 10:57:28 +02:00