Fixed fwmark update without device status change
An update of the fwmark was missing, when the device was not bought up after the change.
This commit is contained in:
		
							parent
							
								
									9360bac632
								
							
						
					
					
						commit
						5f01086f19
					
				
					 2 changed files with 9 additions and 2 deletions
				
			
		|  | @ -50,7 +50,9 @@ func (device *Device) RoutineTUNEventReader() { | |||
| 				// begin listening for incomming datagrams
 | ||||
| 				logInfo.Println("Interface set up") | ||||
| 				device.tun.isUp.Set(true) | ||||
| 				updateBind(device) | ||||
| 				if err := updateBind(device); err != nil { | ||||
| 					logInfo.Println("Failed to bind UDP socket:", err) | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
|  | @ -59,7 +61,9 @@ func (device *Device) RoutineTUNEventReader() { | |||
| 				// stop listening for incomming datagrams
 | ||||
| 				logInfo.Println("Interface set down") | ||||
| 				device.tun.isUp.Set(false) | ||||
| 				closeBind(device) | ||||
| 				if err := closeBind(device); err != nil { | ||||
| 					logInfo.Println("Failed to close UDP socket:", err) | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|  |  | |||
|  | @ -163,6 +163,9 @@ func ipcSetOperation(device *Device, socket *bufio.ReadWriter) *IPCError { | |||
| 
 | ||||
| 				device.net.mutex.Lock() | ||||
| 				device.net.fwmark = uint32(fwmark) | ||||
| 				if err := device.net.bind.SetMark(fwmark); err != nil { | ||||
| 					logError.Println("Failed to update fwmark:", err) | ||||
| 				} | ||||
| 				device.net.mutex.Unlock() | ||||
| 
 | ||||
| 			case "public_key": | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue