@@ -29,11 +29,8 @@ def format_dhcp_packet(pkt: packet.DHCPPacket) -> str:
29
29
broadcast = "BROADCAST" if pkt .flags else "UNICAST"
30
30
client_info_padding = 18
31
31
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 :
37
34
client_info = client_info [:- visual_diff ]
38
35
39
36
output = (
@@ -172,15 +169,16 @@ def get_lease(
172
169
if verbose > 1 :
173
170
print (format_dhcp_packet (discover ))
174
171
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 } " )
176
173
self .send_discover (server , discover , verbose )
177
174
# O
178
175
tries = 0
179
- while not (offer := self .receive_offer (tx_id , verbose )):
176
+ offer = self .receive_offer (tx_id , verbose )
177
+ while not offer :
180
178
logging .debug (f"Sleeping { self .retry_interval } ms then retrying discover" )
181
179
sleep (self .retry_interval / 1000 )
182
180
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 } "
184
182
)
185
183
if verbose > 1 :
186
184
print ("Resending DISCOVER packet" )
@@ -190,6 +188,7 @@ def get_lease(
190
188
"Unable to obtain offer run client with -d for debug info"
191
189
)
192
190
tries += 1
191
+ offer = self .receive_offer (tx_id , verbose )
193
192
# R
194
193
request = packet .DHCPPacket .Request (
195
194
mac_addr ,
@@ -204,15 +203,16 @@ def get_lease(
204
203
print ("REQUEST Packet" )
205
204
print (format_dhcp_packet (request ))
206
205
logging .debug (f"Constructed request packet: { request } " )
207
- logging .debug (f"Sending request packet to { server } with { tx_id = } " )
206
+ logging .debug (f"Sending request packet to { server } with { tx_id } " )
208
207
self .send_request (server , request , verbose )
209
208
# A
210
209
tries = 0
211
- while not (ack := self .receive_ack (tx_id , verbose )):
210
+ ack = self .receive_ack (tx_id , verbose )
211
+ while not ack :
212
212
logging .debug (f"Sleeping { self .retry_interval } ms then retrying request" )
213
213
sleep (self .retry_interval / 1000 )
214
214
logging .debug (
215
- f"Attempt { tries } - Sending request packet to { server } with { tx_id = } "
215
+ f"Attempt { tries } - Sending request packet to { server } with { tx_id } "
216
216
)
217
217
if verbose > 1 :
218
218
print ("Resending REQUEST packet" )
@@ -222,7 +222,7 @@ def get_lease(
222
222
"Unable to obtain ack run client with -d for debug info"
223
223
)
224
224
tries += 1
225
-
225
+ ack = self . receive_ack ( tx_id , verbose )
226
226
lease_time = default_timer () - start
227
227
lease = Lease (discover , offer , request , ack , lease_time , self .ack_server )
228
228
@@ -256,19 +256,19 @@ def listen(
256
256
logging .debug (
257
257
f"Select: { select .select (self .listening_sockets , self .writing_sockets , self .except_sockets , 0 )} "
258
258
)
259
- if len (
260
- socks := select .select (
259
+ socks = select .select (
261
260
self .listening_sockets ,
262
261
self .writing_sockets ,
263
262
self .except_sockets ,
264
263
self .select_timout ,
265
264
)[0 ]
266
- ):
265
+ if len ( socks ):
267
266
for sock in socks :
268
267
data , addr = sock .recvfrom (self .max_pkt_size )
269
268
logging .debug (f"Received data from { addr } : { data } " )
269
+ dhcp_packet = self .get_valid_pkt (data )
270
270
if (
271
- ( dhcp_packet := self . get_valid_pkt ( data )) is not None
271
+ dhcp_packet is not None
272
272
and dhcp_packet .xid == tx_id
273
273
and dhcp_packet .msg_type == msg_type
274
274
):
@@ -283,12 +283,14 @@ def listen(
283
283
logging .debug (
284
284
f"TX ID does not match expected ID { dhcp_packet .xid } != { tx_id } "
285
285
)
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
- )
290
286
else :
291
- logging .debug ("Something is wrong with this packet" )
287
+ msg_type_actual = dhcp_packet .msg_type
288
+ if msg_type_actual != msg_type :
289
+ logging .debug (
290
+ f"DHCP message type does not match expected: { msg_type_actual } != { msg_type } "
291
+ )
292
+ else :
293
+ logging .debug ("Something is wrong with this packet" )
292
294
logging .debug (dhcp_packet )
293
295
dhcp_packet = None
294
296
tries += 1
@@ -346,14 +348,13 @@ def send(self, remote_addr: str, remote_port: int, data: bytes, verbosity: int):
346
348
tries = 0
347
349
while tries < self .max_tries :
348
350
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 (
351
+ socks = select .select (
351
352
self .listening_sockets ,
352
353
self .writing_sockets ,
353
354
self .except_sockets ,
354
355
self .select_timout ,
355
356
)[1 ]
356
- ) :
357
+ if socks :
357
358
sock = socks [0 ]
358
359
logging .debug (f"Connecting to { remote_addr } :{ remote_port } " )
359
360
logging .debug (f"Sending data { data !r} " )
0 commit comments