From 72207c54ee5734e3d2d3d1a063c8daf1edaa8815 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Mon, 26 Apr 2021 10:02:02 -0700 Subject: [PATCH] update ufw app info docs to support multiple apps (ufw app info all) --- docs/parsers/ufw_appinfo.md | 196 +++++++++++++++++++----------------- jc/man/jc.1.gz | Bin 2413 -> 2413 bytes man/jc.1.gz | Bin 2413 -> 2413 bytes 3 files changed, 102 insertions(+), 94 deletions(-) diff --git a/docs/parsers/ufw_appinfo.md b/docs/parsers/ufw_appinfo.md index 826ff851..35a5d75f 100644 --- a/docs/parsers/ufw_appinfo.md +++ b/docs/parsers/ufw_appinfo.md @@ -3,6 +3,8 @@ # jc.parsers.ufw_appinfo jc - JSON CLI output utility `ufw app info [application]` command output parser +Supports individual apps via `ufw app info [application]` and all apps list via `ufw app info all`. + Because `ufw` application definitions allow overlapping ports and port ranges, this parser preserves that behavior, but also provides `normalized` lists and ranges that remove duplicate ports and merge overlapping ranges. Usage (cli): @@ -20,105 +22,111 @@ Usage (module): Schema: - { - "profile": string, - "title": string, - "description": string, - "tcp_list": [ - integer - ], - "tcp_ranges": [ - { - "start": integer, # 'any' is converted to start/end: 0/65535 - "end": integer - } - ], - "udp_list": [ - integer - ], - "udp_ranges": [ - { - "start": integer, # 'any' is converted to start/end: 0/65535 - "end": integer - } - ], - "normalized_tcp_list": [ - integers # duplicates and overlapping are removed - ], - "normalized_tcp_ranges": [ - { - "start": integer, # 'any' is converted to start/end: 0/65535 - "end": integers # overlapping are merged - } - ], - "normalized_udp_list": [ - integers # duplicates and overlapping are removed - ], - "normalized_udp_ranges": [ - { - "start": integer, # 'any' is converted to start/end: 0/65535 - "end": integers # overlapping are merged - } - ] - } + [ + { + "profile": string, + "title": string, + "description": string, + "tcp_list": [ + integer + ], + "tcp_ranges": [ + { + "start": integer, # 'any' is converted to start/end: 0/65535 + "end": integer + } + ], + "udp_list": [ + integer + ], + "udp_ranges": [ + { + "start": integer, # 'any' is converted to start/end: 0/65535 + "end": integer + } + ], + "normalized_tcp_list": [ + integers # duplicates and overlapping are removed + ], + "normalized_tcp_ranges": [ + { + "start": integer, # 'any' is converted to start/end: 0/65535 + "end": integers # overlapping are merged + } + ], + "normalized_udp_list": [ + integers # duplicates and overlapping are removed + ], + "normalized_udp_ranges": [ + { + "start": integer, # 'any' is converted to start/end: 0/65535 + "end": integers # overlapping are merged + } + ] + } + ] Examples: $ ufw app info MSN | jc --ufw-appinfo -p - { - "profile": "MSN", - "title": "MSN Chat", - "description": "MSN chat protocol (with file transfer and voice)", - "tcp_list": [ - 1863, - 6901 - ], - "udp_list": [ - 1863, - 6901 - ], - "tcp_ranges": [ - { - "start": 6891, - "end": 6900 - } - ], - "normalized_tcp_list": [ - 1863, - 6901 - ], - "normalized_tcp_ranges": [ - { - "start": 6891, - "end": 6900 - } - ], - "normalized_udp_list": [ - 1863, - 6901 - ] - } + [ + { + "profile": "MSN", + "title": "MSN Chat", + "description": "MSN chat protocol (with file transfer and voice)", + "tcp_list": [ + 1863, + 6901 + ], + "udp_list": [ + 1863, + 6901 + ], + "tcp_ranges": [ + { + "start": 6891, + "end": 6900 + } + ], + "normalized_tcp_list": [ + 1863, + 6901 + ], + "normalized_tcp_ranges": [ + { + "start": 6891, + "end": 6900 + } + ], + "normalized_udp_list": [ + 1863, + 6901 + ] + } + ] $ ufw app info MSN | jc --ufw-appinfo -p -r - { - "profile": "MSN", - "title": "MSN Chat", - "description": "MSN chat protocol (with file transfer and voice)", - "tcp_list": [ - "1863", - "6901" - ], - "udp_list": [ - "1863", - "6901" - ], - "tcp_ranges": [ - { - "start": "6891", - "end": "6900" - } - ] - } + [ + { + "profile": "MSN", + "title": "MSN Chat", + "description": "MSN chat protocol (with file transfer and voice)", + "tcp_list": [ + "1863", + "6901" + ], + "udp_list": [ + "1863", + "6901" + ], + "tcp_ranges": [ + { + "start": "6891", + "end": "6900" + } + ] + } + ] ## info @@ -142,7 +150,7 @@ Parameters: Returns: - Dictionary. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. ## Parser Information Compatibility: linux diff --git a/jc/man/jc.1.gz b/jc/man/jc.1.gz index 8efe4136176e4f52c0aa3195d5fcb40f4f6f0399..e2074643f268276802c67745acb7bb1cc6800564 100644 GIT binary patch delta 1002 zcmVI1+x>uONa2E&*b>?cElUBSwG! z9R8CX{T9upY@9tVzOW+*0QuFL?d|| z3!qskOOe1!RGVs*v#;s9XmLK7eog13)eQ+FkSR=yQVSzs8djj0#Th^$%6h(i6a{#+R zABy;KkX<5IJP2(?60%u|c9}*=$qlLj7|6;z7m4H+28MUwBeADT8nyzfijW;ol@({( z7d(^PfLA#P6v{GFm8HVrPC~b4ekFtOT`&iC3vJGV@Foi2?P88k!3Bc>k4p(I2yT(M z-D)pM;s7c&j^NOaW`oI#WCnj`U&{1I>C)kK*$rG~_c9?UQQhG9-c&h(iMpjox+SVp zOe=_hr4w}YPM`_#F3CZ)FWbVijkIeFD&4H#fd=z{vg7FE^P?mXJ2U_i-BU?Y2TXfl za^-Mx)d$obsC$69Ohl{_Z)n5y2$lD%LFOcYWP_{+@BExp-7ry*Pj7$Ww;PBaCnOSm z&|)RD2P4@7*TQQCq6cc4*c%EP4~e~fJ{VS7Rpky&Y!}?Dd7?Hg0r#LoWX;W*@JMvq zjtIZyJb3_T$G3U%Gw#4s*oc533hW3^4m8CQ(rN1Ba?AA$FO5~Yb|Q}M5m3gOoiB*( z@PyAieQ8IgEz=vON2GtCoIIIMIz}%c5;EcJZI~Xln}LB6N-qQ~IUDU&mJgda>lgPMn^#lo@kda(=>(87andyT;Rq#ll`oOtLJQ%1x zuu45v^(50=RfU@)QQhD|SlHkW?&%%@TmEopAlRU%T;joFlk9&Y-0>YDUP3Y>I1+w+ zkbK)Sjw}b6^h*m2L#AKEtbHm%5oCHqTojZ&Q2;5>7f7Odz-2!8;SNMVGN8NhhxxNN zeHv%9=`ng61^pplY7<*mCLP%ew<2#zIPQf)gY0f!j+S=NpAuRc%u^bSitmMexsob< zN=sEpOLhB2iexa6s+JaHyTz=`T_g=FqlZgb4Dm_744%vykGFV+i(B=WYBh&T5x1`B YZaKdhxBT0)5(HBP2!3vHS0Ee!0D%zD1^@s6 delta 1002 zcmVI1+x>uONa2E&*b>?Ohj{>Knm9m@{HOX70 zGQ)V0uvBJZVCzyCQWAZh&gRi13dXbR>(TU_{e{NNM>o;M4f`^iFDA2T^eqUK24yQ5 zGgB9qKb{3R^7cLR(gEo_zlg>+6MBDzsQ=42mcodF8!0p^xi+#`FV||7$P}hUsf7_R4J%cFmY`km>_Mu^uvq0_ zS@I9lm}-^RIQy^wl_48tR_FqxA4FE4lJpTd=g519#k^ok!72lWEo;;^8gdzlcFsBUn4Z>pTYMBP#(-4fL) zrWHiM(g`|xC(wj=m*k+@mu=zMM%pz7m2TGWK!bTe*>Uvo`B4&x9U1_M?x`fH1ExJN zxpFwU>H}&I)IGplCL&geH?-k;gv$HXAafExvO(5^cYaQ)ZkQ;@r?-Fb+YLmI6B3C& zXt5I7gOTikYvDBm(E~M2>whM07JW-pLfP2s(vgT$@cqF=Q zM}*&Uo;-lFk%0z1N!15L4nbej6O+;Tm`OJkL;ort4*1eCF6=L=#x zJmE7>U)qsr%k+ln5h;HtCr_r6j?qhqgiJVl8>UC?W?-NMIf)HR!~^>R|70w_F?`W2 zeW#XgFeJL6_q4-)7xnNX&nof!Br`mw52lB)fkIcYH^PmypZ|j)Y$y zB!BK1N0x(3`lSViA=58n);<-X2r@k)E(*$?D1a2`3nWoJ;4&Zla0enF8PMJM!~EHs zK8-Wl^ccO3g8mRNwTZ1OlaB0#TamXU9QQ(@L3Xz5(HBP2uJ1-!XO*~0Hep#9{>OV diff --git a/man/jc.1.gz b/man/jc.1.gz index 8efe4136176e4f52c0aa3195d5fcb40f4f6f0399..e2074643f268276802c67745acb7bb1cc6800564 100644 GIT binary patch delta 1002 zcmVI1+x>uONa2E&*b>?cElUBSwG! z9R8CX{T9upY@9tVzOW+*0QuFL?d|| z3!qskOOe1!RGVs*v#;s9XmLK7eog13)eQ+FkSR=yQVSzs8djj0#Th^$%6h(i6a{#+R zABy;KkX<5IJP2(?60%u|c9}*=$qlLj7|6;z7m4H+28MUwBeADT8nyzfijW;ol@({( z7d(^PfLA#P6v{GFm8HVrPC~b4ekFtOT`&iC3vJGV@Foi2?P88k!3Bc>k4p(I2yT(M z-D)pM;s7c&j^NOaW`oI#WCnj`U&{1I>C)kK*$rG~_c9?UQQhG9-c&h(iMpjox+SVp zOe=_hr4w}YPM`_#F3CZ)FWbVijkIeFD&4H#fd=z{vg7FE^P?mXJ2U_i-BU?Y2TXfl za^-Mx)d$obsC$69Ohl{_Z)n5y2$lD%LFOcYWP_{+@BExp-7ry*Pj7$Ww;PBaCnOSm z&|)RD2P4@7*TQQCq6cc4*c%EP4~e~fJ{VS7Rpky&Y!}?Dd7?Hg0r#LoWX;W*@JMvq zjtIZyJb3_T$G3U%Gw#4s*oc533hW3^4m8CQ(rN1Ba?AA$FO5~Yb|Q}M5m3gOoiB*( z@PyAieQ8IgEz=vON2GtCoIIIMIz}%c5;EcJZI~Xln}LB6N-qQ~IUDU&mJgda>lgPMn^#lo@kda(=>(87andyT;Rq#ll`oOtLJQ%1x zuu45v^(50=RfU@)QQhD|SlHkW?&%%@TmEopAlRU%T;joFlk9&Y-0>YDUP3Y>I1+w+ zkbK)Sjw}b6^h*m2L#AKEtbHm%5oCHqTojZ&Q2;5>7f7Odz-2!8;SNMVGN8NhhxxNN zeHv%9=`ng61^pplY7<*mCLP%ew<2#zIPQf)gY0f!j+S=NpAuRc%u^bSitmMexsob< zN=sEpOLhB2iexa6s+JaHyTz=`T_g=FqlZgb4Dm_744%vykGFV+i(B=WYBh&T5x1`B YZaKdhxBT0)5(HBP2!3vHS0Ee!0D%zD1^@s6 delta 1002 zcmVI1+x>uONa2E&*b>?Ohj{>Knm9m@{HOX70 zGQ)V0uvBJZVCzyCQWAZh&gRi13dXbR>(TU_{e{NNM>o;M4f`^iFDA2T^eqUK24yQ5 zGgB9qKb{3R^7cLR(gEo_zlg>+6MBDzsQ=42mcodF8!0p^xi+#`FV||7$P}hUsf7_R4J%cFmY`km>_Mu^uvq0_ zS@I9lm}-^RIQy^wl_48tR_FqxA4FE4lJpTd=g519#k^ok!72lWEo;;^8gdzlcFsBUn4Z>pTYMBP#(-4fL) zrWHiM(g`|xC(wj=m*k+@mu=zMM%pz7m2TGWK!bTe*>Uvo`B4&x9U1_M?x`fH1ExJN zxpFwU>H}&I)IGplCL&geH?-k;gv$HXAafExvO(5^cYaQ)ZkQ;@r?-Fb+YLmI6B3C& zXt5I7gOTikYvDBm(E~M2>whM07JW-pLfP2s(vgT$@cqF=Q zM}*&Uo;-lFk%0z1N!15L4nbej6O+;Tm`OJkL;ort4*1eCF6=L=#x zJmE7>U)qsr%k+ln5h;HtCr_r6j?qhqgiJVl8>UC?W?-NMIf)HR!~^>R|70w_F?`W2 zeW#XgFeJL6_q4-)7xnNX&nof!Br`mw52lB)fkIcYH^PmypZ|j)Y$y zB!BK1N0x(3`lSViA=58n);<-X2r@k)E(*$?D1a2`3nWoJ;4&Zla0enF8PMJM!~EHs zK8-Wl^ccO3g8mRNwTZ1OlaB0#TamXU9QQ(@L3Xz5(HBP2uJ1-!XO*~0Hep#9{>OV