qos-1.0.1-bp154.2.18 >  A bx`!M@eee/}B5Fx )p~L,)K> 3giеv$48s8ђƆ&iaT1 ="X؍_2$"O @V"]lM%ZvZbIef0*:͊9[| jS_0bAD!ggԝ4엶 @`0dC?$;*u _$[н_S(e*UXׇ"pfa2d0bc5889574674403ac889b724e54c7d7007a6257a9f2ab435355f4b9089edc6679602a585c42034184c18bfa0c71f99d3302+bx`!M@eeePz=_f??g\%m/Rp4z&V֜*WJa:yng6~ia"?͆xƾ`+:2=rw\D*S~ EN^Qz?cc-f.y7G-r~뀄x^=tẐ#?P,ysJotSצ+4& !R6CxTuHud)ZH(HS5rO|jBJ{:MUZG5n)(Sn˰(J8}7Bj%P>pF?d   O <BIf @L R X d ' ,8GVt(89:x=7>??G@OFWGlHxIXY\]^b cdef l"u4v@w|xyzCqos1.0.1bp154.2.18Simple traffic shaping utility for fighting bufferbloatThe Problem: Bufferbloat (see http://en.wikipedia.org/wiki/Bufferbloat) - Your SSH session turns to molasses when your kid watches YouTube - Your wife complains that "the internet is slow" - You hate the stupid DSL modems supplied by the phone company with their giant packet queues that add unnecessary latency - You have your own Linux router that routes all your traffic or is the only machine you have connected to the Internet and know there must be a better way The Solution: QoS QoS = "Quality of Service" You probably already know about it. Control and proritize traffic. This QoS is new and improved. Previous QoS setups only throttled traffic in the download direction. This one handles both directions using the (poorly documented) Linux ifb interface and tc(8) 'mirred' redirection.bxXlamb60#"SUSE Linux Enterprise 15 SP4openSUSEApache-2.0https://bugs.opensuse.orgSystem/Managementhttps://github.com/archiecobbs/qoslinuxnoarch if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in qos.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in qos.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi PNAME=qos SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" SD_NAME=network/ if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable qos.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop qos.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in qos.service ; do sysv_service="${service%.*}" rm "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart qos.service ) || : fi fiF큤bxXbxXbxXb3a9a8b2be153af561de616eec3d6973a16394238590736a82cd180f556ed5cbd8be829092dee4b93c08b0f6293fd0543031801a2649c89d6524710b371731e235931516afc74d8bec49eabd355d5f20be137169df2c05d15e3ad63e05b3eeedrootrootrootrootrootrootqos-1.0.1-bp154.2.18.src.rpmqos@     /bin/bash/bin/sh/bin/sh/bin/sh/bin/shcoreutilsdiffutilsfillupgrepiproute2rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)systemdsystemdsystemdsystemd3.0.4-14.6.0-14.0-15.2-14.14.3aqV@[@Z@X@P!@OP@Archie Cobbs archie.cobbs@gmail.comrbrown@suse.comarchie.cobbs@gmail.comarchie@dellroad.orgarchie@dellroad.org- Added hardening to systemd service(s) (sr#926717) * Added patch harden_qos.service.patch- Convert from SysV to systemd service (bsc#1116033)- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Add Requires(pre): insserv-compat. insserv is no longer part of a standard SUSE setup, since we have long switched to systemd.- Upgrade to version 1.0.1. - Fix several rpmlint warnings.- Initial commit/bin/sh/bin/sh/bin/sh/bin/shlamb60 16520878961.0.1-bp154.2.18qosqos.servicesysconfig.qos/usr/bin//usr/lib/systemd/system//usr/share/fillup-templates/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Backports:SLE-15-SP4/standard/96496f61b3825dad71786ace23c70604-qoscpioxz5noarch-suse-linuxBourne-Again shell script, ASCII text executableASCII textR}Pl>Putf-87e392ebf00a2d319e5d310ecb72684231649e26610e4de8a4d583996b34e53c4?7zXZ !t/%O ] crv9w ,`sB!C.y]~3Upޠd8cd"5C)}p:,RHeшsK21rtoP(uv &f$3Me1;` 1OASfaL(/Yv^4 KzuM}rQ-Iw4F)$M,QRMhY @*J1/!<0Iޢ7ʔeʤ+d15K(ϣB8*ӞVm'R[\TqI ]),rYO/ 9ɾ/*-ȧ{iA'R[)R@PKpB  41el+8\U3{ \"v?{EV~"*ak(C@? >˥P_i+S)~b}L[_oO.w:֌!ZT= LoWP0r RneCB]p:{g Ohw/*&lBV5Ke{Tj.PCхIi<8& .B+JI}K1p; "`ߎgTm-CǘԴ%JTJW ͝Lq/.ŴL(*:.5 \y/˙8{zzHC#\arr5!-NKDY\x `6.ug_rL#W*J3C|Z@>/)hh#FdiFQwύ{mS~rG^VbVDEq.+Aл>~l֡f+bC7)n-oWM%B{`vk_WPȽ!~ lRȁ(-6KJ͘(Z a0lD=ڳ.v?M .U(a3詗L~ol9Q6!ta{ZbNyu^L ܕ TƢ˂P7Ţ!ʲXu'ṋ;, !O&=ۘ_!dl;OM^roضy D1 NΞkѰ1P\|{Yrt$yGtZހddt舴-'z~rAi0O?Si ʑf,qt{LV(M; mD: L ̵)87֍cD 1Iɮ&~r24"2H](=)jK ֨Ƚ]U{ˬ(>Ģxqa}{p٤*:4(':sA8  |ީ\֕o}۷773AmE hvGoX#!zT] NC1DU PԷwPY|Bf M;ɗ|:ϨŝC1IngkK' @+}ېu"Wvs@Xnkh_fb4˂Q_hߓ4{.q!єRv?_բYfSm#${Mr0ONyuq:YVx~I}-H,PNtڏ6ﰏڭtQ%+(Bڣɧ}>LUᴰ髯G#^!m„P#!щN 1awnH2itZ=~ehx-z6bQA;u$M,CS>s).žVp)ta~đͽOqťang4QK`OX˟1e#>x¡E&#.3HǤڅ}u4-ڎ*qnƢq8Zi; sjBSm"m6RӛP-n-SWL,'8"Wc6yOm2OISI}UT }D{09ϭ  xzŸ8ddqvHLC:ɏ5Q)\It8Q{$b.s'a[ɥ;4H3GU&q K;ԸFCQ)čDmo(< ?igK;:* $Pe9 OVJB YZ