server: Owner and group SIDs in security descriptors are optional in many server calls.

So print "<not present>" when they aren't provided instead of "<invalid sid>".
diff --git a/server/trace.c b/server/trace.c
index 4471d6f..e0a2e96 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -711,12 +711,18 @@
         fprintf( stderr, ",owner=" );
         if ((sd->owner_len > FIELD_OFFSET(SID, SubAuthority[255])) || (offset + sd->owner_len > size))
             return;
-        dump_inline_sid( (const SID *)((const char *)sd + offset), sd->owner_len );
+        if (sd->owner_len)
+            dump_inline_sid( (const SID *)((const char *)sd + offset), sd->owner_len );
+        else
+            fprintf( stderr, "<not present>" );
         offset += sd->owner_len;
         fprintf( stderr, ",group=" );
         if ((sd->group_len > FIELD_OFFSET(SID, SubAuthority[255])) || (offset + sd->group_len > size))
             return;
-        dump_inline_sid( (const SID *)((const char *)sd + offset), sd->group_len );
+        if (sd->group_len)
+            dump_inline_sid( (const SID *)((const char *)sd + offset), sd->group_len );
+        else
+            fprintf( stderr, "<not present>" );
         offset += sd->group_len;
         fprintf( stderr, ",sacl=" );
         if ((sd->sacl_len >= MAX_ACL_LEN) || (offset + sd->sacl_len > size))