Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
5cabc90
make it work in linux kernel module context
bonifaido Mar 17, 2023
327891c
extend .gitignore for linux kernel objects
bonifaido Mar 28, 2023
63db536
implement ssl/rsa kernel module
bonifaido Mar 29, 2023
fd4f2cb
export br_sslio_flush
bonifaido Mar 31, 2023
06a8515
expose br_ssl_engine_close
bonifaido Mar 31, 2023
036d95f
disable x86 intrinsics for now in kernel
bonifaido Mar 31, 2023
1cc7c18
some perf opt with arm flags, expose ec init
bonifaido Apr 3, 2023
fd4594b
export br_ssl_client_reset
bonifaido Apr 5, 2023
2e4fa9e
extend .gitignore for kernel development
bonifaido May 30, 2023
bf9a9b5
fix Makefile
bonifaido May 31, 2023
191c7d8
fix coredump on linux 6.0
bonifaido Jun 2, 2023
ff6faf2
export some new functions for mTLS
bonifaido Jun 22, 2023
57d61c2
Export additional functions required for rsa keygen (#2)
baluchicken Aug 7, 2023
941f96a
Export additional symbols for cert validation
baluchicken Oct 13, 2023
0df7a49
expose run_until as br_sslio_run_until
bonifaido Nov 13, 2023
63f1f31
fix for br_sslio_run_until pointer on older compilers
bonifaido Nov 16, 2023
3de757e
export br_ssl_engine_set_suites
bonifaido Jan 16, 2024
70e617b
Add br_sslrec_out_clear_vtable to exported symbols (#5)
baluchicken Feb 23, 2024
a6e420c
parametrize VERBOSE
bonifaido Feb 26, 2024
2426432
propagate -ERESTARTSYS without engine fail
waynz0r Mar 9, 2024
5a878a1
export br_ssl_engine_current_state
bonifaido Mar 16, 2024
dad1421
Store gcm and ccm keys for kTLS (#6)
baluchicken Mar 22, 2024
bab2736
propagate return values (#7)
bonifaido Mar 28, 2024
55dcf07
Set ssl engine fail when return is not eagain erestartsys or ewouldbl…
baluchicken Mar 28, 2024
6996051
Unexport run_until and extend bearssl_read function (#10)
baluchicken Apr 25, 2024
c2136ec
chore: Export additional symbols for SSL engine functionality (#11)
bonifaido Jun 3, 2024
9f4a8d8
Export multiple der encoding specific functions (#12)
baluchicken Jun 14, 2024
8d10cb0
Fix compiler confusion on kernel above 6.11 with MIN MAX macros
baluchicken Jan 9, 2025
0c287fe
Add required new function pem_encode
baluchicken Jan 31, 2025
a6e4a17
get rid of strict errors on UBK (#15)
bonifaido Mar 19, 2025
0dd52ec
Update ccflags to include frame size limit for kernel build
bonifaido Jun 17, 2025
499887e
fix: add KVERSION veriable for make
pbalogh-sa Jun 18, 2025
166c7b4
Merge pull request #16 from pbalogh-sa/update-makefile
pbalogh-sa Jun 18, 2025
ee7ed26
Various Ecdsa requirements
baluchicken Jul 7, 2025
02e40f2
fix: add MIN and MAX macros if not defined; remove unused EXPORT_SYMB…
bonifaido Aug 19, 2025
88faac4
feat: add new HMAC and SHA256 export symbols; update time retrieval i…
bonifaido Dec 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,10 @@
/testcrypto
/testspeed
/testx509
*.cmd
*.o
*.ko
*.mod*
*.o.d
*.order
*.symvers
6 changes: 5 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,11 @@
!include mk/NMake.mk # \
!else
.POSIX:
include mk/SingleUnix.mk
include $(PWD)/mk/SingleUnix.mk
OS := $(shell uname)
ifeq ($(OS),Linux)
include $(PWD)/mk/LinuxKM.mk
endif
# Extra hack for OpenBSD make.
ifndef: all
0: all
Expand Down
3 changes: 1 addition & 2 deletions inc/bearssl.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#ifndef BR_BEARSSL_H__
#define BR_BEARSSL_H__

#include <stddef.h>
#include <stdint.h>
#include <linux/types.h>

/** \mainpage BearSSL API
*
Expand Down
3 changes: 1 addition & 2 deletions inc/bearssl_aead.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#ifndef BR_BEARSSL_AEAD_H__
#define BR_BEARSSL_AEAD_H__

#include <stddef.h>
#include <stdint.h>
#include <linux/types.h>

#include "bearssl_block.h"
#include "bearssl_hash.h"
Expand Down
3 changes: 1 addition & 2 deletions inc/bearssl_block.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#ifndef BR_BEARSSL_BLOCK_H__
#define BR_BEARSSL_BLOCK_H__

#include <stddef.h>
#include <stdint.h>
#include <linux/types.h>

#ifdef __cplusplus
extern "C" {
Expand Down
3 changes: 1 addition & 2 deletions inc/bearssl_ec.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#ifndef BR_BEARSSL_EC_H__
#define BR_BEARSSL_EC_H__

#include <stddef.h>
#include <stdint.h>
#include <linux/types.h>

#include "bearssl_rand.h"

Expand Down
5 changes: 2 additions & 3 deletions inc/bearssl_hash.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,8 @@
#ifndef BR_BEARSSL_HASH_H__
#define BR_BEARSSL_HASH_H__

#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include <linux/types.h>
#include <linux/string.h>

#ifdef __cplusplus
extern "C" {
Expand Down
3 changes: 1 addition & 2 deletions inc/bearssl_hmac.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#ifndef BR_BEARSSL_HMAC_H__
#define BR_BEARSSL_HMAC_H__

#include <stddef.h>
#include <stdint.h>
#include <linux/types.h>

#include "bearssl_hash.h"

Expand Down
3 changes: 1 addition & 2 deletions inc/bearssl_kdf.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#ifndef BR_BEARSSL_KDF_H__
#define BR_BEARSSL_KDF_H__

#include <stddef.h>
#include <stdint.h>
#include <linux/types.h>

#include "bearssl_hash.h"
#include "bearssl_hmac.h"
Expand Down
3 changes: 1 addition & 2 deletions inc/bearssl_pem.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#ifndef BR_BEARSSL_PEM_H__
#define BR_BEARSSL_PEM_H__

#include <stddef.h>
#include <stdint.h>
#include <linux/types.h>

#ifdef __cplusplus
extern "C" {
Expand Down
3 changes: 1 addition & 2 deletions inc/bearssl_prf.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#ifndef BR_BEARSSL_PRF_H__
#define BR_BEARSSL_PRF_H__

#include <stddef.h>
#include <stdint.h>
#include <linux/types.h>

#ifdef __cplusplus
extern "C" {
Expand Down
3 changes: 1 addition & 2 deletions inc/bearssl_rand.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#ifndef BR_BEARSSL_RAND_H__
#define BR_BEARSSL_RAND_H__

#include <stddef.h>
#include <stdint.h>
#include <linux/types.h>

#include "bearssl_block.h"
#include "bearssl_hash.h"
Expand Down
3 changes: 1 addition & 2 deletions inc/bearssl_rsa.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#ifndef BR_BEARSSL_RSA_H__
#define BR_BEARSSL_RSA_H__

#include <stddef.h>
#include <stdint.h>
#include <linux/types.h>

#include "bearssl_hash.h"
#include "bearssl_rand.h"
Expand Down
8 changes: 6 additions & 2 deletions inc/bearssl_ssl.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#ifndef BR_BEARSSL_SSL_H__
#define BR_BEARSSL_SSL_H__

#include <stddef.h>
#include <stdint.h>
#include <linux/types.h>

#include "bearssl_block.h"
#include "bearssl_hash.h"
Expand Down Expand Up @@ -584,6 +583,7 @@ typedef struct {
} bc;
br_ghash gh;
unsigned char iv[4];
unsigned char key[32];
unsigned char h[16];
#endif
} br_sslrec_gcm_context;
Expand Down Expand Up @@ -788,6 +788,7 @@ typedef struct {
br_aes_gen_ctrcbc_keys aes;
} bc;
unsigned char iv[4];
unsigned char key[16];
size_t tag_len;
#endif
} br_sslrec_ccm_context;
Expand Down Expand Up @@ -4016,6 +4017,9 @@ void br_sslio_init(br_sslio_context *ctx,
const unsigned char *data, size_t len),
void *write_context);

extern int
(*br_sslio_run_until)(br_sslio_context *ctx, unsigned target);

/**
* \brief Read some application data from a SSL connection.
*
Expand Down
3 changes: 1 addition & 2 deletions inc/bearssl_x509.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#ifndef BR_BEARSSL_X509_H__
#define BR_BEARSSL_X509_H__

#include <stddef.h>
#include <stdint.h>
#include <linux/types.h>

#include "bearssl_ec.h"
#include "bearssl_hash.h"
Expand Down
Loading