@@ -479,10 +479,11 @@ class Term(aclgenerator.Term):
479
479
_NGFW_MODE = 'profile-based'
480
480
CURRENT_ID = 0
481
481
482
- def __init__ (self , term , object_container , verbose = True ):
482
+ def __init__ (self , term , object_container , platform , verbose = True ):
483
483
super ().__init__ (term )
484
484
self ._term = term
485
485
self ._obj_container = object_container
486
+ self .platform = platform
486
487
self ._term .verbose = verbose
487
488
488
489
self .id_ = type (self ).CURRENT_ID
@@ -678,7 +679,7 @@ def __str__(self):
678
679
if self ._term .comment and self ._term .verbose :
679
680
lines += [f'{ _SP * 2 } set comments "{ self ._obj_container .fix_comment_length ((" " ).join (self ._term .comment ))} "' ]
680
681
# fortigate local-in policy exception
681
- if self ._term . destination_interface and not self . _term . source_interface :
682
+ if self .platform == "fortigatelocalin" :
682
683
lines += [f"{ _SP * 2 } set intf { self ._term .destination_interface or 'any' } " ]
683
684
else :
684
685
lines += [f"{ _SP * 2 } set srcintf { self ._term .source_interface or 'any' } " ]
@@ -854,7 +855,7 @@ def _TranslatePolicy(self, pol, exp_info):
854
855
raise FortiGateDuplicateTermError (f"You have a duplicate term: { term .name } " )
855
856
term_dup_check .add (term .name )
856
857
857
- new_term = Term (term , self ._obj_container , verbose )
858
+ new_term = Term (term , self ._obj_container , self . _PLATFORM , verbose )
858
859
859
860
self .fortigate_policies += [(header , term .name , new_term )]
860
861
0 commit comments