From f4632eedc0ebbd98a6a8d0c257c79ad1608dc498 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 25 Dec 2025 19:24:33 +0000 Subject: [PATCH 2/4] Initial plan for bug fixes Co-authored-by: ShaYmez <76499782+ShaYmez@users.noreply.github.com> --- __pycache__/YSFReflectorcpython-312.pyc | Bin 0 -> 43988 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 __pycache__/YSFReflectorcpython-312.pyc diff --git a/__pycache__/YSFReflectorcpython-312.pyc b/__pycache__/YSFReflectorcpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9fe6240dbbed5cd93bdfdc280673cebe6040a133 GIT binary patch literal 43988 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 literal 0 HcmV?d00001 From 3e7ba1868aa6e0e327a7544a739e1386f503da84 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 25 Dec 2025 19:26:43 +0000 Subject: [PATCH 3/4] Fix critical bugs: uninitialized variables and unsafe list modifications Co-authored-by: ShaYmez <76499782+ShaYmez@users.noreply.github.com> --- YSFReflector | 49 +++++++++++++++--------- __pycache__/YSFReflectorcpython-312.pyc | Bin 43988 -> 44223 bytes 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/YSFReflector b/YSFReflector index 8a60421..259f5d1 100755 --- a/YSFReflector +++ b/YSFReflector @@ -147,11 +147,16 @@ def ElencoNodi(cl): def TimeoutNodi(cl): while True: time.sleep(1) + # Create list of items to remove (avoid modifying list during iteration) + to_remove = [] for c in cl: c[3] += 1 if (c[3] > 60): printlog(1, 'Removing ' + c[2].ljust(10) + ' (' + c[0] + ':' + str(c[1]) + ') disappeared') - cl.remove(c) + to_remove.append(c) + # Remove items after iteration + for c in to_remove: + cl.remove(c) def TimeoutTX(t, t_lock, r_lock, lista_lh, lista_lhd, t_out, t_react): @@ -216,21 +221,22 @@ def scheduler(): def ckeck_wild_ptt(cs, tw, cnt, trea): global W_PTT global BLK_TMP + global SCHED n = 0 tc = time.time() W_PTT.append([cs, tc]) + # Remove old entries (avoid modifying list during iteration) + W_PTT[:] = [r for r in W_PTT if r[1] >= (tc - tw)] + # Count occurrences of this callsign for r in W_PTT: - if (r[1] < (tc - tw)): - W_PTT.remove(r) - else: - if (r[0] == cs): - n += 1 + if (r[0] == cs): + n += 1 if (n >= cnt): - printlog(1, 'Wild-PTT ' + r[0]) - if (not inlist(BLK_TMP, r[0])): - bisect.insort(BLK_TMP,r[0]) - SCHED.append([r[0], 'RC', tc + trea]) - printlog(1, 'Appended scheduled job: ' + r[0] + '/RC at time ' + time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(tc + trea))) + printlog(1, 'Wild-PTT ' + cs) + if (not inlist(BLK_TMP, cs)): + bisect.insort(BLK_TMP, cs) + SCHED.append([cs, 'RC', tc + trea]) + printlog(1, 'Appended scheduled job: ' + cs + '/RC at time ' + time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(tc + trea))) def canTrasmit(cs, re_en): @@ -646,14 +652,19 @@ def RunServer(config): s.sendto(b'YSFPREFLECTOR ',addr) if (cmd == b'YSFU'): + client_to_remove = None for c in clients: if ((c[0] == addr[0]) and (c[1] == addr[1])): - printlog(1, 'Removing ' + c[2].ljust(10) + ' (' + c[0] + ':' + str(c[1]) + ') unlinked') - clients.remove(c) + client_to_remove = c break + if client_to_remove is not None: + printlog(1, 'Removing ' + client_to_remove[2].ljust(10) + ' (' + client_to_remove[0] + ':' + str(client_to_remove[1]) + ') unlinked') + clients.remove(client_to_remove) if ((cmd == b'YSFD') and (len(data) == 155)): [id_corr, gw_corr] = getidgw(clients, addr) + tx_ok = True + block_r = '' if (tx[0] == 0): if (inlist(GW_BL, gw_corr) or inlist(GW_LK, gw_corr)): tx_ok = False @@ -836,17 +847,19 @@ def printlog(log_level, mess): except: pass + str_log = None if isinstance(log_level, int): if file_level <= log_level: str_log = check_string('M: ' + str(datetime.datetime.now(datetime.UTC).strftime('%Y-%m-%d %H:%M:%S.%f'))[:-3] + ' ' + mess) else: if log_level == "d" and debug == 1: str_log = check_string('D: ' + str(datetime.datetime.now(datetime.UTC).strftime('%Y-%m-%d %H:%M:%S.%f'))[:-3] + ' ' + mess) - try: - filelog.write(str_log + '\n') - filelog.flush() - except: - pass + if str_log is not None: + try: + filelog.write(str_log + '\n') + filelog.flush() + except: + pass def hex_dump(data): diff --git a/__pycache__/YSFReflectorcpython-312.pyc b/__pycache__/YSFReflectorcpython-312.pyc index 9fe6240dbbed5cd93bdfdc280673cebe6040a133..6f1dc9d4386ce9dfa6271b1510461d14200ef390 100644 GIT binary patch delta 2757 zcmb_edr(x@89(RTyLa!hdzXE%vMcT`unP;j2qO3hMkBfgHB}RQ#|H%tB7%U+3QF$^ z7#Sg9hSkqbnTd{==Ali~*tuyZeEVzM>1yoc8wn8y9E1P8*25DJ?yKKRCiid*@*(N+6#S5l2GNXYn&ri_n};@!96Ph+w#7EMX-3LU zBVM-%j0+D`SZ|2Vr0ATmejw(h3~V-KLgw5w!aDm1o)N^eZ9{EwJlv7u*i6cyoLERj z{G9S(;gAmh8X8J2;zjW9lJcf5A^d$7#VOt2PO9~6elvyECAZ|Qb7JicQ`Bo}C?Tl$c(_GGh7F^Ezk zd=$zb_{8P;om3sKoh+EFz2d*R^g6k=;{C#^ryGAORi7yu#e*fE7%gc;IBBqPMl_5R zjPh~vOxBE`AE_KVG}M^VF;z-HdU2%c^x;|FH1b5;IMI}}n#5+OsFr1VJ2 zPw9|8`%c=3%*%R=Ec~BZ!Uldy&ogW$2!_md#k}}6g44=d6=8ziin#P$g8fRe`e_cA z!j#JiM_1SW8se_d`0Q5*9+JRC-!`X&ntBA8qwHGQOqavZ1=d~)q~X@ zSr_wR)QQUAN;wo0{dX9JCET*O%LVz?$=uO(n591#f8Xn7;kdp z0KC$aXY|L4s3TTP{jmVN*Hnay;EN`&qbRelB0B11+M-yX^9ZyyEQfu~t8cISW=F3P^rg=*4joDVBvJ zo1pSxJ2NnRs4Z`?wl<(*w1I)v?zy`T9&44jyEfMmS`L?6k7rk8az@Kr1-b+tIqHCw zhj;uxsHWO-^_BOm*MRGYkCgSp+QaMBVdc{M&SvtDS>|ND?AOxc&ty~0CCjZJJ~;BM zcit?!kbJVAWqXBoxsPRaW^~0;3KXH|G8l$1P%(Ck%lf768#JZlrB`|)`4aMDNw(YHb z%NW)k%Z1b3BNiIXPec&sXH%_s`eA@tuCo z9}B`N`OAS)D#Sw3?u`HJps`fNbaIe3$~v_kbc>4G1s#+_l+#8bHd-?G0J!GPW2qd} zbfxSp1vS>l*RVFtXJrpy>>JX;M=|^EAZ?yc^v!vqYaej0@NUrX*r}qx*ZWiW)iCds zGl!2`##)s>o~ps548fworRn`hQA-P(E=ScVrs z*|0ThGuxL1>}BiuOsN~b!x;;U6WQJwr#Fo_*f3f!FjG{Vuod34<)-wU#hDV3-IuVH z&stp*1rz%cp;fQfCPQm(gu=;C_-FO+hc+hN8{e%?y0<0jn-a}5S>KX$w7)`iIi^=j|IkE$1a7p_w!Po1jTOm=C)F7h{o?6%!x#_If@=bR^zzhv54 zdE1%;Z;uuj7AzcTnQ<;0VZo1zHhcj7@~jtMSIigtFwZV-P8q)RI_70=s2o;b&c`ww zyu8YE68R8Ddr=&Z<>=QI80BT&0?`h*1^E6E*rjmn7;AtUP9E-J50c>eN6LXY!!2I?S85^F8E*<%|LjrE{8XUUUS~i* z&nv65qIV3W&dj}IC3Oy^=Q+aRMy2-!J28HXr9ZMog{^SmrIol1e)ZBNycycBR^cb$ z@>RFLUR7>a;Q%9z>{mxSRM@G)YwFxCxP5ge?t|smj^&!LJ?#nNob(=S#2aziW5Z#R Z4#FGPN=*BBY);Ff7aP-IC4KD=_*sIIMac;j^M15Xs3U)wliC-GuGRX?WY?K@0DLNZ?$1PG};121qD%i7eW!N zV2Ii57{f)Ilf@Eehid^F{MD92x<0cN5X`fS8g#?}#|qcLWx>Et9AVMKPatOB=Hlg6 z!Y;Q_*his`LNx^!fm!(NMjJTt^9sj^HiQ-gV}cb%cMR_sJ9e^R!IZUxSS}Y@^4qiZ zr*-4HSn-p_q>gkYIrW2lNx;vlb>c9G{|MJT=k%ovLQf+JM_A}^yWwZv&93$UnF6oy z5@RO;6i&edWWL?RP|gbzgjWOkQH8&R$tY46J7QjAf1;8HEkG$4QUCXurVWLA}m{RsDCh=1@F5G9p7m~ znJlospisN)3^#l>=dJO%3@eQ<@f2a5-vL#A6L{~;fkwX{PWmfzjHwlQkGsEPS97y$ zC1$b?Oo$vW7wnf^MvMoQ*ND-ILls3$_Gr80{JE zi3LWE-qah$YR5}sB~SRMRns^>j*|xBl{6x)Fjn*9t^{iwYl<1BLeu!HG@o4(XT^lk z^3;Z@+NsdlVBA=o5X`4djn||ib zoTK(uzRci%sN%XHgRN>;^>qe2)WG^v8b+4j4;xEynfkYlIwM}MejNOZ2|uI0yIad+ z1Keo+2oI`nwf#`g_9-kmBi)eKal1K8cTB2D8p#Dcp%A=&pnNm8vavA9k8B>NR6@5^ zjF+p!{)~^}$k<8Z@~8-|&H{}XDTTVuGF%Ehoz69-nQbL=k}Xmul}5_peCH$9GN~+5 z-dh>ov%)8tq;iP$Z}KTQ87Jc4j+95sVpy(L%o0yCmiSaSjohY)@KdP+w!;Dv{xoR@gnp)cgdKG=0|Ei@h!VDw-s@ws`>2_GFWfc{WNK?U7;(Q=C6 zj{iyMF8KSy2F@X+dGBJRO33eeB&+J{`Bxs|rL}Or>u{P#`F=!|-ypiANoPP#&#eoz zPH|)k1fL%f$xL{7N4k^BfdI`s9X3-rOzNa)6>$q45i_-;l_QlDVORGv&Q-nS&JY!m z)OJJa{_qkTeNPMaz=J(Sq*{YLZd?r)dVY_qV6e9luZ7<{ydwXpw?4Oq#NcQ&iAwgg z1iquMU^m=6Y9;vT(I>F`%>JS*d!}+U?T801_pK*^%*UxtjL>W-VIDcIz#)CFvT#8-r!;Z%?n}o3o~?Y4>DSTq#=Fpt0iK9A)3pLmeTTXrn4I_83^tOS?5ih*DTY#%02K_zct}h@DRsW3o&d7f> zoXtsITUZ<~?nqejrvg*mGqp3J+2D&iW_MhcFYTOnY`W4s@2I_6do^?|IPchgy=LCA zGv3rZ*Rpr+{?_@Hwzr%1%{%tZwI7~$9FAL#ELiMMS4~z;-xjxsixw++x3g{JQLyB~ z#HnKSSEsZVya!%8=foG(8|NOy>b~<=$iKw23rAtY^k%(C-n=#x!xLHR;Itp}x0AEn zAB7j6ALafnAU+$m{`~cwNru(v60BjgVYngYo(fJ@#o6LzeWdZzq!nv)@3F#vlX*l~ zWQEWA={<1GUAv~9MQ>Ou>W%14mZ{fi-ZV1x+3Jse!Dw)^8oIECG2BbaBi~1%0irV- zaTi>fc^2OTduMC#E;uz?_E2c1@G|XdA<~(k6aGn@jzjUqV^%HB rUCQy{oTXN5z}xYX<2GE!EO}t|qQ|(G#pWehD8jm>t?K(1Kg3@Fbt#Ba From 6da8efa5391cf3455e88d0067f8ada8973c359cd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 25 Dec 2025 19:27:22 +0000 Subject: [PATCH 4/4] Add .gitignore to exclude build artifacts and logs Co-authored-by: ShaYmez <76499782+ShaYmez@users.noreply.github.com> --- .gitignore | 25 ++++++++++++++++++++++++ __pycache__/YSFReflectorcpython-312.pyc | Bin 44223 -> 0 bytes 2 files changed, 25 insertions(+) create mode 100644 .gitignore delete mode 100644 __pycache__/YSFReflectorcpython-312.pyc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d5f7dd0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python + +# Logs +*.log + +# Virtual environments +venv/ +env/ +ENV/ + +# IDE +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# OS +.DS_Store +Thumbs.db diff --git a/__pycache__/YSFReflectorcpython-312.pyc b/__pycache__/YSFReflectorcpython-312.pyc deleted file mode 100644 index 6f1dc9d4386ce9dfa6271b1510461d14200ef390..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44223 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 DrQuUL