@@ -945,9 +945,12 @@ func (c *ControlSyncRequest) GetControlType() string {
945
945
func (c * ControlSyncRequest ) Encode () * ber.Packet {
946
946
_mode := int64 (c .Mode )
947
947
mode := ber .NewInteger (ber .ClassUniversal , ber .TypePrimitive , ber .TagEnumerated , _mode , "Mode" )
948
- cookie := ber .Encode (ber .ClassUniversal , ber .TypePrimitive , ber .TagOctetString , nil , "Cookie" )
949
- cookie .Value = c .Cookie
950
- cookie .Data .Write (c .Cookie )
948
+ var cookie * ber.Packet
949
+ if len (c .Cookie ) > 0 {
950
+ cookie = ber .Encode (ber .ClassUniversal , ber .TypePrimitive , ber .TagOctetString , nil , "Cookie" )
951
+ cookie .Value = c .Cookie
952
+ cookie .Data .Write (c .Cookie )
953
+ }
951
954
reloadHint := ber .NewBoolean (ber .ClassUniversal , ber .TypePrimitive , ber .TagBoolean , c .ReloadHint , "Reload Hint" )
952
955
953
956
packet := ber .Encode (ber .ClassUniversal , ber .TypeConstructed , ber .TagSequence , nil , "Control" )
@@ -957,7 +960,9 @@ func (c *ControlSyncRequest) Encode() *ber.Packet {
957
960
val := ber .Encode (ber .ClassUniversal , ber .TypePrimitive , ber .TagOctetString , nil , "Control Value (Sync Request)" )
958
961
seq := ber .Encode (ber .ClassUniversal , ber .TypeConstructed , ber .TagSequence , nil , "Sync Request Value" )
959
962
seq .AppendChild (mode )
960
- seq .AppendChild (cookie )
963
+ if cookie != nil {
964
+ seq .AppendChild (cookie )
965
+ }
961
966
seq .AppendChild (reloadHint )
962
967
val .AppendChild (seq )
963
968
0 commit comments