Project

General

Profile

Bug #2499

Updated by neels over 6 years ago

Take this osmo-msc config, I have an ASP with remote-ip defined, but no AS: 

 <pre> 
 network 
  network country code 1 
  mobile network code 1 
  short name OsmoMSC 
  long name OsmoMSC 
  auth policy closed 
  location updating reject cause 13 
  encryption a5 0 
  rrlp mode none 
  mm info 1 
 cs7 instance 0 
  point-code 0.23.1 
  asp asp-clnt-OsmoMSC-A-Iu 2905 0 m3ua 
   ! where to reach the STP: 
   remote-ip 10.23.24.1 
 msc 
  cs7-instance-a 0 
  cs7-instance-iu 0 
  mgcpgw remote-ip 10.23.24.1 
  assign-tmsi 
 </pre> 

 What happens when osmo-msc starts is: 
 - a new AS is created because none exists yet. 

 - for that AS, no ASP is defined, so one is created. But this by doing 
   osmo_ss7_asp_find_or_create(ss7, asp_name, default_remote_port, 
                               default_local_port, prot); 
   Because I have created in the VTY an ASP that has exactly the name that is 
   autogenerated, instead of creating a fresh one, the 
   osmo_ss7_asp_find_or_create() returns exactly that one the VTY created. 

 - next, the code does:    
   asp->cfg.remote.host = default_remote_ip [...]; 
   i.e. it silently overwrites the IP address I have configured in the VTY. 

 Writing the config back results in 

 <pre> 
 cs7 instance 0 
  point-code 0.23.1 
  asp asp-clnt-OsmoMSC-A-Iu 2905 0 m3ua 
   remote-ip 127.0.0.1 
  as as-clnt-OsmoMSC-A-Iu m3ua 
   asp asp-clnt-OsmoMSC-A-Iu 
   routing-key 0 0.23.1 
 </pre> 

 (i.e. with a different ASP remote-ip than originally) 

 What the user clearly requested is dropped on the floor without any warning. 
 Also the previous value in asp->cfg.remote.host is un-freed. 

 Of course this only happens when the ASP's name exactly matches the default 
 name, but when we use config generated by 'show running-config' or 'write file' 
 and tweak that, this is actually a quite common case. 

Back

Add picture from clipboard (Maximum size: 48.8 MB)