소스 검색

Add workaround for Vino's VeNCrypt implementation

tags/v1.6.90
Pierre Ossman 8 년 전
부모
커밋
1f8aba3147
1개의 변경된 파일12개의 추가작업 그리고 1개의 파일을 삭제
  1. 12
    1
      common/rfb/Security.cxx

+ 12
- 1
common/rfb/Security.cxx 파일 보기

@@ -74,7 +74,18 @@ const std::list<rdr::U8> Security::GetEnabledSecTypes(void)
list<rdr::U8> result;
list<U32>::iterator i;

result.push_back(secTypeVeNCrypt);
/* Partial workaround for Vino's stupid behaviour. It doesn't allow
* the basic authentication types as part of the VeNCrypt handshake,
* making it impossible for a client to do opportunistic encryption.
* At least make it possible to connect when encryption is explicitly
* disabled. */
for (i = enabledSecTypes.begin(); i != enabledSecTypes.end(); i++) {
if (*i >= 0x100) {
result.push_back(secTypeVeNCrypt);
break;
}
}

for (i = enabledSecTypes.begin(); i != enabledSecTypes.end(); i++)
if (*i < 0x100)
result.push_back(*i);

Loading…
취소
저장