@@ -29,11 +29,8 @@ def format_dhcp_packet(pkt: packet.DHCPPacket) -> str:
2929 broadcast = "BROADCAST" if pkt .flags else "UNICAST"
3030 client_info_padding = 18
3131 client_info = f"{ pkt .htype } - { pkt .chaddr } ({ utils .mac2vendor (pkt .chaddr )} )"
32- if (
33- visual_diff := (
34- utils .visual_length (client_info ) - (COL_LEN - client_info_padding )
35- )
36- ) > 0 :
32+ visual_diff = (utils .visual_length (client_info ) - (COL_LEN - client_info_padding ))
33+ if visual_diff > 0 :
3734 client_info = client_info [:- visual_diff ]
3835
3936 output = (
@@ -172,15 +169,16 @@ def get_lease(
172169 if verbose > 1 :
173170 print (format_dhcp_packet (discover ))
174171 start = default_timer ()
175- logging .debug (f"Sending discover packet to { server } with { tx_id = } " )
172+ logging .debug (f"Sending discover packet to { server } with { tx_id } " )
176173 self .send_discover (server , discover , verbose )
177174 # O
178175 tries = 0
179- while not (offer := self .receive_offer (tx_id , verbose )):
176+ offer = self .receive_offer (tx_id , verbose )
177+ while not offer :
180178 logging .debug (f"Sleeping { self .retry_interval } ms then retrying discover" )
181179 sleep (self .retry_interval / 1000 )
182180 logging .debug (
183- f"Attempt { tries } - Sending discover packet to { server } with { tx_id = } "
181+ f"Attempt { tries } - Sending discover packet to { server } with { tx_id } "
184182 )
185183 if verbose > 1 :
186184 print ("Resending DISCOVER packet" )
@@ -190,6 +188,7 @@ def get_lease(
190188 "Unable to obtain offer run client with -d for debug info"
191189 )
192190 tries += 1
191+ offer = self .receive_offer (tx_id , verbose )
193192 # R
194193 request = packet .DHCPPacket .Request (
195194 mac_addr ,
@@ -200,19 +199,21 @@ def get_lease(
200199 client_ip = offer .yiaddr ,
201200 relay = relay ,
202201 )
202+ print (request )
203203 if verbose > 1 :
204204 print ("REQUEST Packet" )
205205 print (format_dhcp_packet (request ))
206206 logging .debug (f"Constructed request packet: { request } " )
207- logging .debug (f"Sending request packet to { server } with { tx_id = } " )
207+ logging .debug (f"Sending request packet to { server } with { tx_id } " )
208208 self .send_request (server , request , verbose )
209209 # A
210210 tries = 0
211- while not (ack := self .receive_ack (tx_id , verbose )):
211+ ack = self .receive_ack (tx_id , verbose )
212+ while not ack :
212213 logging .debug (f"Sleeping { self .retry_interval } ms then retrying request" )
213214 sleep (self .retry_interval / 1000 )
214215 logging .debug (
215- f"Attempt { tries } - Sending request packet to { server } with { tx_id = } "
216+ f"Attempt { tries } - Sending request packet to { server } with { tx_id } "
216217 )
217218 if verbose > 1 :
218219 print ("Resending REQUEST packet" )
@@ -222,7 +223,7 @@ def get_lease(
222223 "Unable to obtain ack run client with -d for debug info"
223224 )
224225 tries += 1
225-
226+ ack = self . receive_ack ( tx_id , verbose )
226227 lease_time = default_timer () - start
227228 lease = Lease (discover , offer , request , ack , lease_time , self .ack_server )
228229
@@ -256,19 +257,19 @@ def listen(
256257 logging .debug (
257258 f"Select: { select .select (self .listening_sockets , self .writing_sockets , self .except_sockets , 0 )} "
258259 )
259- if len (
260- socks := select .select (
260+ socks = select .select (
261261 self .listening_sockets ,
262262 self .writing_sockets ,
263263 self .except_sockets ,
264264 self .select_timout ,
265265 )[0 ]
266- ):
266+ if len ( socks ):
267267 for sock in socks :
268268 data , addr = sock .recvfrom (self .max_pkt_size )
269269 logging .debug (f"Received data from { addr } : { data } " )
270+ dhcp_packet = self .get_valid_pkt (data )
270271 if (
271- ( dhcp_packet := self . get_valid_pkt ( data )) is not None
272+ dhcp_packet is not None
272273 and dhcp_packet .xid == tx_id
273274 and dhcp_packet .msg_type == msg_type
274275 ):
@@ -283,12 +284,14 @@ def listen(
283284 logging .debug (
284285 f"TX ID does not match expected ID { dhcp_packet .xid } != { tx_id } "
285286 )
286- elif (msg_type_actual := dhcp_packet .msg_type ) != msg_type :
287- logging .debug (
288- f"DHCP message type does not match expected: { msg_type_actual } != { msg_type } "
289- )
290287 else :
291- logging .debug ("Something is wrong with this packet" )
288+ msg_type_actual = dhcp_packet .msg_type
289+ if msg_type_actual != msg_type :
290+ logging .debug (
291+ f"DHCP message type does not match expected: { msg_type_actual } != { msg_type } "
292+ )
293+ else :
294+ logging .debug ("Something is wrong with this packet" )
292295 logging .debug (dhcp_packet )
293296 dhcp_packet = None
294297 tries += 1
@@ -346,14 +349,13 @@ def send(self, remote_addr: str, remote_port: int, data: bytes, verbosity: int):
346349 tries = 0
347350 while tries < self .max_tries :
348351 logging .debug (f"Select: { select .select (self .listening_sockets , self .writing_sockets , self .except_sockets , self .select_timout ,)} " )
349- if len (
350- socks := select .select (
352+ socks = select .select (
351353 self .listening_sockets ,
352354 self .writing_sockets ,
353355 self .except_sockets ,
354356 self .select_timout ,
355357 )[1 ]
356- ) :
358+ if socks :
357359 sock = socks [0 ]
358360 logging .debug (f"Connecting to { remote_addr } :{ remote_port } " )
359361 logging .debug (f"Sending data { data !r} " )
0 commit comments