libcli/smb: add smbXcli_session_is_guest() helper function
[samba.git] / libcli / smb / smbXcli_base.c
index c55875b16bb6fc0e5c08e3026e43a6d07c8ee7b0..b07fdad61367926eb044f17d5a873a05131dfbe2 100644 (file)
@@ -4942,6 +4942,30 @@ struct smbXcli_session *smbXcli_session_copy(TALLOC_CTX *mem_ctx,
        return session;
 }
 
+bool smbXcli_session_is_guest(struct smbXcli_session *session)
+{
+       if (session == NULL) {
+               return false;
+       }
+
+       if (session->conn == NULL) {
+               return false;
+       }
+
+       if (session->conn->protocol >= PROTOCOL_SMB2_02) {
+               if (session->smb2->session_flags & SMB2_SESSION_FLAG_IS_GUEST) {
+                       return true;
+               }
+               return false;
+       }
+
+       if (session->smb1.action & SMB_SETUP_GUEST) {
+               return true;
+       }
+
+       return false;
+}
+
 bool smbXcli_session_is_authenticated(struct smbXcli_session *session)
 {
        const DATA_BLOB *application_key;