hi
i am writing my impleentation of api in python and i have encountered a problem with sending yes/true, no/false.
all examples belowa are for version 6.1
take for example:
<<< /ip/address/print
<<< EOS
>>> !re
>>> =.id=*1
>>> =address=x.x.x.x/x
>>> =network=x.x.x.x
>>> =interface=bridge1
>>> =actual-interface=bridge1
>>> =invalid=false
>>> =dynamic=false
>>> =disabled=false
>>> =comment=lan
and ths:
<<< /ip/firewall/connection/tracking/print
<<< EOS
>>> !re
>>> =enabled=auto
>>> =tcp-syn-sent-timeout=00:00:05
>>> =tcp-syn-received-timeout=00:00:05
>>> =tcp-established-timeout=1d00:00:00
>>> =tcp-fin-wait-timeout=00:00:10
>>> =tcp-close-wait-timeout=00:00:10
>>> =tcp-last-ack-timeout=00:00:10
>>> =tcp-time-wait-timeout=00:00:10
>>> =tcp-close-timeout=00:00:10
>>> =udp-timeout=00:00:10
>>> =udp-stream-timeout=00:03:00
>>> =icmp-timeout=00:00:10
>>> =generic-timeout=00:10:00
>>> =max-entries=90984
>>> =total-entries=11
>>> EOS
>>> !done
>>> EOS
<<< /ip/firewall/connection/tracking/set
<<< =enabled=false
<<< EOS
>>> !trap
>>> =category=1
>>> =message=input does not match any value of enabled
>>> EOS
>>> !trap
>>> =category=2
>>> =message=
>>> EOS
>>> !done
>>> EOS
<<< /ip/firewall/connection/tracking/set
<<< =enabled=no
<<< EOS
>>> !done
>>> EOS
the best solution will be to accept yes/true as TRUE boolean in RouterOS. api implementations in any language may cast values yes/true to boolean TRUE but it is impossible (with current state) to do it other way around since you do not know what value is the correct one.
i do consider this a serious bug. Mikrotik support please comment on this.