Skip to content

Commit 44d8ddd

Browse files
committed
Implement generic interface for bignum and diffie-hellman
Implementation of a generic wrap interface for bignum and diffie-hellman based upon Damien's wrap code in openssh-openbsd. This commit adds the generic interface along with the backing code for openssl, cng, and cng with an openssl fallback. Currently, openssl is the only provider for bignum and the diffie-hellman generic interface is only for static and negotiated oakley groups..
1 parent fe136bc commit 44d8ddd

32 files changed

+2173
-2547
lines changed

contrib/win32/openssh/libssh.vcxproj

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,13 @@
258258
<ClCompile Include="$(OpenSSH-Src-Path)uuencode.c" />
259259
<ClCompile Include="$(OpenSSH-Src-Path)verify.c" />
260260
<ClCompile Include="$(OpenSSH-Src-Path)xmalloc.c" />
261+
<ClCompile Include="$(OpenSSH-Src-Path)openssl-bn.c" />
262+
<ClCompile Include="$(OpenSSH-Src-Path)openssl-dh.c">
263+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
264+
</ClCompile>
265+
</ItemGroup>
266+
<ItemGroup>
267+
<ClInclude Include="$(OpenSSH-Src-Path)crypto-wrap.h" />
261268
</ItemGroup>
262269
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
263270
<ImportGroup Label="ExtensionTargets">

contrib/win32/openssh/libssh.vcxproj.filters

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,5 +288,16 @@
288288
<ClCompile Include="$(OpenSSH-Src-Path)xmalloc.c">
289289
<Filter>Source Files</Filter>
290290
</ClCompile>
291+
<ClCompile Include="..\..\..\openssl-dh.c">
292+
<Filter>Source Files</Filter>
293+
</ClCompile>
294+
<ClCompile Include="..\..\..\openssl-bn.c">
295+
<Filter>Source Files</Filter>
296+
</ClCompile>
297+
</ItemGroup>
298+
<ItemGroup>
299+
<ClInclude Include="..\..\..\crypto-wrap.h">
300+
<Filter>Header Files</Filter>
301+
</ClInclude>
291302
</ItemGroup>
292303
</Project>

contrib/win32/openssh/win32compat.vcxproj

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -159,11 +159,13 @@
159159
<ClCompile Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\tncon.c" />
160160
<ClCompile Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\tnnet.c" />
161161
<ClCompile Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\win32auth.c" />
162-
<ClCompile Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\cng_kex.c" />
163-
<ClCompile Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\cng_kexdhc.c" />
164-
<ClCompile Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\cng_kexdhs.c" />
165-
<ClCompile Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\cng_kexgexc.c" />
166-
<ClCompile Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\cng_kexgexs.c" />
162+
<ClCompile Include="..\win32compat\cng_dh.c">
163+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
164+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
165+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
166+
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
167+
</ClCompile>
168+
<ClCompile Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\cng_openssl_dh.c" />
167169
</ItemGroup>
168170
<ItemGroup>
169171
<ClInclude Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\ansiprsr.h" />

contrib/win32/openssh/win32compat.vcxproj.filters

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -81,19 +81,10 @@
8181
<ClCompile Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\win32auth.c">
8282
<Filter>Source Files</Filter>
8383
</ClCompile>
84-
<ClCompile Include="..\win32compat\cng_kex.c">
84+
<ClCompile Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\cng_kex.c">
8585
<Filter>Source Files</Filter>
8686
</ClCompile>
87-
<ClCompile Include="..\win32compat\cng_kexdhc.c">
88-
<Filter>Source Files</Filter>
89-
</ClCompile>
90-
<ClCompile Include="..\win32compat\cng_kexdhs.c">
91-
<Filter>Source Files</Filter>
92-
</ClCompile>
93-
<ClCompile Include="..\win32compat\cng_kexgexc.c">
94-
<Filter>Source Files</Filter>
95-
</ClCompile>
96-
<ClCompile Include="..\win32compat\cng_kexgexs.c">
87+
<ClCompile Include="..\win32compat\cng_openssl_dh.c">
9788
<Filter>Source Files</Filter>
9889
</ClCompile>
9990
</ItemGroup>
@@ -140,7 +131,10 @@
140131
<ClInclude Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\win32auth.h">
141132
<Filter>Header Files</Filter>
142133
</ClInclude>
143-
<ClInclude Include="..\win32compat\cng_kex.h">
134+
<ClInclude Include="$(OpenSSH-Src-Path)\contrib\win32\win32compat\cng_kex.h">
135+
<Filter>Header Files</Filter>
136+
</ClInclude>
137+
<ClInclude Include="..\win32compat\cng-wrap.h">
144138
<Filter>Header Files</Filter>
145139
</ClInclude>
146140
</ItemGroup>

0 commit comments

Comments
 (0)