Compare commits
29 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
f945c945a0 | ||
|
9188d6465e | ||
|
682c6d6d08 | ||
|
43fc056a50 | ||
|
8bf7619e83 | ||
|
78395fff92 | ||
|
e2164b858b | ||
|
36905fcc27 | ||
|
5d515b03b2 | ||
|
11a71728dc | ||
|
4eaa335ea3 | ||
|
2c2919e3d6 | ||
|
d3a1dd7864 | ||
|
57631fc661 | ||
|
07de817ab3 | ||
|
4a107b38aa | ||
|
265a6a062c | ||
|
135c129931 | ||
|
39a01e0bb6 | ||
|
8be15c5e83 | ||
|
1e1546aa10 | ||
|
ed0ee04dc2 | ||
|
ae45875dc6 | ||
|
9d14f83fa4 | ||
|
1fc2c0ee08 | ||
|
bd943701e8 | ||
|
ca17e9314a | ||
|
9aa5dc3871 | ||
|
e2304ce307 |
10
debian/changelog
vendored
10
debian/changelog
vendored
@ -1,3 +1,13 @@
|
|||||||
|
softether-vpn (4.44-9807-rtm) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Mario Fetka ]
|
||||||
|
* Bump
|
||||||
|
|
||||||
|
[ geos_one ]
|
||||||
|
* New upstream version 4.44-9807-rtm
|
||||||
|
|
||||||
|
-- root <mario.fetka@disconnected-by-peer.at> Fri, 08 Aug 2025 12:14:30 +0200
|
||||||
|
|
||||||
softether-vpn (0:4.04.9412-rtm) unstable; urgency=low
|
softether-vpn (0:4.04.9412-rtm) unstable; urgency=low
|
||||||
|
|
||||||
* Testing debianization
|
* Testing debianization
|
||||||
|
2
debian/control
vendored
2
debian/control
vendored
@ -2,7 +2,7 @@ Source: softether-vpn
|
|||||||
Section: net
|
Section: net
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Dmitry Orlov <me@mosquito.su>
|
Maintainer: Dmitry Orlov <me@mosquito.su>
|
||||||
Build-Depends: debhelper (>= 7.0.50~), libncurses-dev, linux-libc-dev, libssl-dev, libreadline-dev, build-essential, dh-exec
|
Build-Depends: debhelper (>= 7.0.50~), libncurses-dev, linux-libc-dev, libssl-dev , libreadline-dev, build-essential, dh-exec, zlib1g-dev
|
||||||
Standards-Version: 3.9.1
|
Standards-Version: 3.9.1
|
||||||
Homepage: http://www.softether.org/
|
Homepage: http://www.softether.org/
|
||||||
|
|
||||||
|
54
debian/patches/1199ecd57dffdbc65c47baa61c4e836df5700244.patch
vendored
Normal file
54
debian/patches/1199ecd57dffdbc65c47baa61c4e836df5700244.patch
vendored
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
From 1199ecd57dffdbc65c47baa61c4e836df5700244 Mon Sep 17 00:00:00 2001
|
||||||
|
From: NiteHawk <n1tehawk@users.noreply.github.com>
|
||||||
|
Date: Sun, 20 Jul 2025 18:31:49 +0200
|
||||||
|
Subject: [PATCH] [followup] Fix some oversights in previous commit
|
||||||
|
|
||||||
|
---
|
||||||
|
src/Mayaqua/Secure.c | 4 ++--
|
||||||
|
src/Mayaqua/Secure.h | 4 ++--
|
||||||
|
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/Mayaqua/Secure.c b/src/Mayaqua/Secure.c
|
||||||
|
index 7132f92a..da62f983 100644
|
||||||
|
--- a/src/Mayaqua/Secure.c
|
||||||
|
+++ b/src/Mayaqua/Secure.c
|
||||||
|
@@ -1710,7 +1710,7 @@ void CloseSecSession(SECURE *sec)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Open the session
|
||||||
|
-bool OpenSecSession(SECURE *sec, UINT slot_number)
|
||||||
|
+bool OpenSecSession(SECURE *sec, CK_SLOT_ID slot_number)
|
||||||
|
{
|
||||||
|
UINT err = 0;
|
||||||
|
CK_SESSION_HANDLE session;
|
||||||
|
@@ -1835,7 +1835,7 @@ SECURE *OpenSec(UINT id)
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
- sec->SlotIdList = (CK_SLOT_ID *)ZeroMalloc(sizeof(UINT) * sec->NumSlot);
|
||||||
|
+ sec->SlotIdList = (CK_SLOT_ID *)ZeroMalloc(sizeof(CK_SLOT_ID) * sec->NumSlot);
|
||||||
|
|
||||||
|
if (sec->Api->C_GetSlotList(TRUE, sec->SlotIdList, &sec->NumSlot) != CKR_OK)
|
||||||
|
{
|
||||||
|
diff --git a/src/Mayaqua/Secure.h b/src/Mayaqua/Secure.h
|
||||||
|
index 649a8989..5cf574a4 100644
|
||||||
|
--- a/src/Mayaqua/Secure.h
|
||||||
|
+++ b/src/Mayaqua/Secure.h
|
||||||
|
@@ -162,7 +162,7 @@ struct SECURE
|
||||||
|
CK_SLOT_ID *SlotIdList; // Slot ID list
|
||||||
|
bool SessionCreated; // Session creation flags
|
||||||
|
UINT SessionId; // Session ID
|
||||||
|
- UINT SessionSlotNumber; // Slot ID of the session
|
||||||
|
+ CK_SLOT_ID SessionSlotNumber; // Slot ID of the session
|
||||||
|
bool LoginFlag; // Logged-in flag
|
||||||
|
SEC_INFO *Info; // Token information
|
||||||
|
LIST *EnumCache; // Enumeration cache
|
||||||
|
@@ -220,7 +220,7 @@ bool CheckSecureDeviceId(UINT id);
|
||||||
|
SECURE_DEVICE *GetSecureDevice(UINT id);
|
||||||
|
SECURE *OpenSec(UINT id);
|
||||||
|
void CloseSec(SECURE *sec);
|
||||||
|
-bool OpenSecSession(SECURE *sec, UINT slot_number);
|
||||||
|
+bool OpenSecSession(SECURE *sec, CK_SLOT_ID slot_number);
|
||||||
|
void CloseSecSession(SECURE *sec);
|
||||||
|
bool LoginSec(SECURE *sec, char *pin);
|
||||||
|
void LogoutSec(SECURE *sec);
|
190
debian/patches/c6a357e29e93c1c3a0952c97adbb82dcb8a9c1f9.patch
vendored
Normal file
190
debian/patches/c6a357e29e93c1c3a0952c97adbb82dcb8a9c1f9.patch
vendored
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
From c6a357e29e93c1c3a0952c97adbb82dcb8a9c1f9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: NiteHawk <n1tehawk@users.noreply.github.com>
|
||||||
|
Date: Sun, 20 Jul 2025 17:54:33 +0200
|
||||||
|
Subject: [PATCH] Fix Unix compilation when using GCC 14.x
|
||||||
|
|
||||||
|
GCC 14 defaults to stricter type checking, causing compilation errors that
|
||||||
|
result in a build failure with the current source code (v4.44 9807 rtm).
|
||||||
|
|
||||||
|
This patch addresses these to get the (Unix) build working again.
|
||||||
|
|
||||||
|
Tested with gcc 14.3.0 on Gentoo Linux.
|
||||||
|
---
|
||||||
|
src/Cedar/Console.c | 16 +++++++++-------
|
||||||
|
src/Cedar/VLanUnix.h | 1 +
|
||||||
|
src/Mayaqua/Secure.c | 18 +++++++++---------
|
||||||
|
src/Mayaqua/Secure.h | 7 ++++---
|
||||||
|
src/Mayaqua/Unix.c | 3 +--
|
||||||
|
5 files changed, 24 insertions(+), 21 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/Cedar/Console.c b/src/Cedar/Console.c
|
||||||
|
index 3c6c90c20..bfb9bd524 100644
|
||||||
|
--- a/src/Cedar/Console.c
|
||||||
|
+++ b/src/Cedar/Console.c
|
||||||
|
@@ -1981,6 +1981,14 @@ char *ParseCommandA(wchar_t *str, char *name)
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifndef OS_WIN32
|
||||||
|
+ // use a simple wrapper to create a compatible function,
|
||||||
|
+ // allowing for uniform use of getch() below
|
||||||
|
+ static int getch(void) {
|
||||||
|
+ return getc(stdin);
|
||||||
|
+ }
|
||||||
|
+#endif // OS_WIN32
|
||||||
|
+
|
||||||
|
// Password prompt
|
||||||
|
bool PasswordPrompt(char *password, UINT size)
|
||||||
|
{
|
||||||
|
@@ -2005,13 +2013,7 @@ bool PasswordPrompt(char *password, UINT size)
|
||||||
|
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
- int c;
|
||||||
|
-
|
||||||
|
-#ifdef OS_WIN32
|
||||||
|
- c = getch();
|
||||||
|
-#else // OS_WIN32
|
||||||
|
- c = getc(stdin);
|
||||||
|
-#endif // OS_WIN32
|
||||||
|
+ int c = getch();
|
||||||
|
|
||||||
|
if (c >= 0x20 && c <= 0x7E)
|
||||||
|
{
|
||||||
|
diff --git a/src/Cedar/VLanUnix.h b/src/Cedar/VLanUnix.h
|
||||||
|
index fa878e599..556aecda6 100644
|
||||||
|
--- a/src/Cedar/VLanUnix.h
|
||||||
|
+++ b/src/Cedar/VLanUnix.h
|
||||||
|
@@ -122,6 +122,7 @@ struct VLAN
|
||||||
|
VLAN *NewVLan(char *instance_name, VLAN_PARAM *param);
|
||||||
|
VLAN *NewTap(char *name, char *mac_address);
|
||||||
|
void FreeVLan(VLAN *v);
|
||||||
|
+void FreeTap(VLAN *v);
|
||||||
|
CANCEL *VLanGetCancel(VLAN *v);
|
||||||
|
bool VLanGetNextPacket(VLAN *v, void **buf, UINT *size);
|
||||||
|
bool VLanPutPacket(VLAN *v, void *buf, UINT size);
|
||||||
|
diff --git a/src/Mayaqua/Secure.c b/src/Mayaqua/Secure.c
|
||||||
|
index 17cc2717f..7132f92a3 100644
|
||||||
|
--- a/src/Mayaqua/Secure.c
|
||||||
|
+++ b/src/Mayaqua/Secure.c
|
||||||
|
@@ -370,7 +370,7 @@ bool SignSec(SECURE *sec, char *name, void *dst, void *src, UINT size)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sign with the private key of the secure device
|
||||||
|
-bool SignSecByObject(SECURE *sec, SEC_OBJ *obj, void *dst, void *src, UINT size)
|
||||||
|
+bool SignSecByObject(SECURE *sec, SEC_OBJ *obj, void *dst, void *src, CK_ULONG size)
|
||||||
|
{
|
||||||
|
CK_MECHANISM mechanism = {CKM_RSA_PKCS, NULL, 0};
|
||||||
|
UINT ret;
|
||||||
|
@@ -474,7 +474,7 @@ bool WriteSecKey(SECURE *sec, bool private_obj, char *name, K *k)
|
||||||
|
UINT key_type = CKK_RSA;
|
||||||
|
CK_BBOOL b_true = true, b_false = false, b_private_obj = private_obj;
|
||||||
|
UINT obj_class = CKO_PRIVATE_KEY;
|
||||||
|
- UINT object;
|
||||||
|
+ CK_OBJECT_HANDLE object;
|
||||||
|
UINT ret;
|
||||||
|
BUF *b;
|
||||||
|
RSA *rsa;
|
||||||
|
@@ -716,7 +716,7 @@ bool WriteSecCert(SECURE *sec, bool private_obj, char *name, X *x)
|
||||||
|
UCHAR value[4096];
|
||||||
|
UINT ret;
|
||||||
|
BUF *b;
|
||||||
|
- UINT object;
|
||||||
|
+ CK_OBJECT_HANDLE object;
|
||||||
|
CK_ATTRIBUTE a[] =
|
||||||
|
{
|
||||||
|
{CKA_SUBJECT, subject, 0}, // 0
|
||||||
|
@@ -1264,8 +1264,8 @@ LIST *CloneEnumSecObject(LIST *o)
|
||||||
|
LIST *EnumSecObject(SECURE *sec)
|
||||||
|
{
|
||||||
|
CK_BBOOL b_true = true, b_false = false;
|
||||||
|
- UINT objects[MAX_OBJ];
|
||||||
|
- UINT i;
|
||||||
|
+ CK_OBJECT_HANDLE objects[MAX_OBJ];
|
||||||
|
+ CK_ULONG i;
|
||||||
|
UINT ret;
|
||||||
|
LIST *o;
|
||||||
|
CK_ATTRIBUTE dummy[1];
|
||||||
|
@@ -1273,7 +1273,7 @@ LIST *EnumSecObject(SECURE *sec)
|
||||||
|
{
|
||||||
|
{CKA_TOKEN, &b_true, sizeof(b_true)},
|
||||||
|
};
|
||||||
|
- UINT num_objects = MAX_OBJ;
|
||||||
|
+ CK_ULONG num_objects = MAX_OBJ;
|
||||||
|
// Validate arguments
|
||||||
|
if (sec == NULL)
|
||||||
|
{
|
||||||
|
@@ -1389,7 +1389,7 @@ bool WriteSecData(SECURE *sec, bool private_obj, char *name, void *data, UINT si
|
||||||
|
{
|
||||||
|
UINT object_class = CKO_DATA;
|
||||||
|
CK_BBOOL b_true = true, b_false = false, b_private_obj = private_obj;
|
||||||
|
- UINT object;
|
||||||
|
+ CK_OBJECT_HANDLE object;
|
||||||
|
CK_ATTRIBUTE a[] =
|
||||||
|
{
|
||||||
|
{CKA_TOKEN, &b_true, sizeof(b_true)},
|
||||||
|
@@ -1713,7 +1713,7 @@ void CloseSecSession(SECURE *sec)
|
||||||
|
bool OpenSecSession(SECURE *sec, UINT slot_number)
|
||||||
|
{
|
||||||
|
UINT err = 0;
|
||||||
|
- UINT session;
|
||||||
|
+ CK_SESSION_HANDLE session;
|
||||||
|
// Validate arguments
|
||||||
|
if (sec == NULL)
|
||||||
|
{
|
||||||
|
@@ -1835,7 +1835,7 @@ SECURE *OpenSec(UINT id)
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
- sec->SlotIdList = (UINT *)ZeroMalloc(sizeof(UINT) * sec->NumSlot);
|
||||||
|
+ sec->SlotIdList = (CK_SLOT_ID *)ZeroMalloc(sizeof(UINT) * sec->NumSlot);
|
||||||
|
|
||||||
|
if (sec->Api->C_GetSlotList(TRUE, sec->SlotIdList, &sec->NumSlot) != CKR_OK)
|
||||||
|
{
|
||||||
|
diff --git a/src/Mayaqua/Secure.h b/src/Mayaqua/Secure.h
|
||||||
|
index 7654acbf5..649a89894 100644
|
||||||
|
--- a/src/Mayaqua/Secure.h
|
||||||
|
+++ b/src/Mayaqua/Secure.h
|
||||||
|
@@ -109,6 +109,7 @@
|
||||||
|
#define MAX_SEC_DATA_SIZE 4096
|
||||||
|
|
||||||
|
// Type declaration related to PKCS#11
|
||||||
|
+#include "cryptoki.h"
|
||||||
|
#ifndef SECURE_C
|
||||||
|
typedef struct CK_FUNCTION_LIST *CK_FUNCTION_LIST_PTR;
|
||||||
|
typedef struct SEC_DATA_WIN32 SEC_DATA_WIN32;
|
||||||
|
@@ -157,8 +158,8 @@ struct SECURE
|
||||||
|
UINT Error; // The error that last occurred
|
||||||
|
struct CK_FUNCTION_LIST *Api; // API
|
||||||
|
bool Initialized; // Initialization flag
|
||||||
|
- UINT NumSlot; // The number of slots
|
||||||
|
- UINT *SlotIdList; // Slot ID list
|
||||||
|
+ CK_ULONG NumSlot; // The number of slots
|
||||||
|
+ CK_SLOT_ID *SlotIdList; // Slot ID list
|
||||||
|
bool SessionCreated; // Session creation flags
|
||||||
|
UINT SessionId; // Session ID
|
||||||
|
UINT SessionSlotNumber; // Slot ID of the session
|
||||||
|
@@ -247,7 +248,7 @@ X *ReadSecCertFromObject(SECURE *sec, SEC_OBJ *obj);
|
||||||
|
X *ReadSecCert(SECURE *sec, char *name);
|
||||||
|
bool WriteSecKey(SECURE *sec, bool private_obj, char *name, K *k);
|
||||||
|
bool DeleteSecKey(SECURE *sec, char *name);
|
||||||
|
-bool SignSecByObject(SECURE *sec, SEC_OBJ *obj, void *dst, void *src, UINT size);
|
||||||
|
+bool SignSecByObject(SECURE *sec, SEC_OBJ *obj, void *dst, void *src, CK_ULONG size);
|
||||||
|
bool SignSec(SECURE *sec, char *name, void *dst, void *src, UINT size);
|
||||||
|
bool ChangePin(SECURE *sec, char *old_pin, char *new_pin);
|
||||||
|
void TestSec();
|
||||||
|
diff --git a/src/Mayaqua/Unix.c b/src/Mayaqua/Unix.c
|
||||||
|
index c988ea268..b7b4b9150 100644
|
||||||
|
--- a/src/Mayaqua/Unix.c
|
||||||
|
+++ b/src/Mayaqua/Unix.c
|
||||||
|
@@ -309,9 +309,8 @@ OS_DISPATCH_TABLE *UnixGetDispatchTable()
|
||||||
|
return &t;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static void *signal_received_for_ignore(int sig, siginfo_t *info, void *ucontext)
|
||||||
|
+static void signal_received_for_ignore(int sig, siginfo_t *info, void *ucontext)
|
||||||
|
{
|
||||||
|
- return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ignore the signal flew to the thread
|
2
debian/patches/series
vendored
Normal file
2
debian/patches/series
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
c6a357e29e93c1c3a0952c97adbb82dcb8a9c1f9.patch
|
||||||
|
1199ecd57dffdbc65c47baa61c4e836df5700244.patch
|
1
debian/softether-vpnbridge.service
vendored
Symbolic link
1
debian/softether-vpnbridge.service
vendored
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../systemd/softether-vpnbridge.service
|
1
debian/softether-vpnclient.service
vendored
Symbolic link
1
debian/softether-vpnclient.service
vendored
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../systemd/softether-vpnclient.service
|
1
debian/softether-vpnserver.service
vendored
Symbolic link
1
debian/softether-vpnserver.service
vendored
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../systemd/softether-vpnserver.service
|
Loading…
x
Reference in New Issue
Block a user