Skip to content

Commit 5596fcf

Browse files
lukehindsgithub-actions[bot]
authored andcommitted
chore(deps): bump nono to 0.65.1
1 parent 97c04c0 commit 5596fcf

18 files changed

Lines changed: 362 additions & 17 deletions

File tree

227 KB
Binary file not shown.

artifacts/libnono-darwin_amd64/nono.h

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,28 @@ typedef enum NonoErrorCode {
110110
NONO_ERROR_CODE_ERR_UNKNOWN = -99,
111111
} NonoErrorCode;
112112

113+
/**
114+
* Diagnostic code for sandbox and setup errors.
115+
*/
116+
typedef enum NonoDiagnosticCode {
117+
NONO_DIAGNOSTIC_CODE_SANDBOX_DENIED_PATH = 0,
118+
NONO_DIAGNOSTIC_CODE_SANDBOX_DENIED_NETWORK = 1,
119+
NONO_DIAGNOSTIC_CODE_SANDBOX_DENIED_UNIX_SOCKET = 2,
120+
NONO_DIAGNOSTIC_CODE_COMMAND_NOT_FOUND = 3,
121+
NONO_DIAGNOSTIC_CODE_COMMAND_FAILED_LIKELY_SANDBOX = 4,
122+
NONO_DIAGNOSTIC_CODE_COMMAND_FAILED_APPLICATION = 5,
123+
NONO_DIAGNOSTIC_CODE_CREDENTIAL_NOT_FOUND = 6,
124+
NONO_DIAGNOSTIC_CODE_CREDENTIAL_UNAVAILABLE = 7,
125+
NONO_DIAGNOSTIC_CODE_UNSUPPORTED_PLATFORM_FEATURE = 8,
126+
NONO_DIAGNOSTIC_CODE_ROLLBACK_BUDGET_EXCEEDED = 9,
127+
NONO_DIAGNOSTIC_CODE_CWD_ACCESS_REQUIRED = 10,
128+
NONO_DIAGNOSTIC_CODE_CONFIGURATION_ERROR = 11,
129+
NONO_DIAGNOSTIC_CODE_TRUST_VERIFICATION_FAILED = 12,
130+
NONO_DIAGNOSTIC_CODE_IO_ERROR = 13,
131+
NONO_DIAGNOSTIC_CODE_CANCELLED = 14,
132+
NONO_DIAGNOSTIC_CODE_OTHER = 99,
133+
} NonoDiagnosticCode;
134+
113135
/**
114136
* Tag for capability source discriminant.
115137
*/
@@ -447,6 +469,53 @@ bool nono_capability_set_is_network_blocked(const struct NonoCapabilitySet *caps
447469
*/
448470
char *nono_capability_set_summary(const struct NonoCapabilitySet *caps);
449471

472+
/**
473+
* Return the diagnostic code for the most recently mapped error on this thread.
474+
*
475+
* Returns `NonoDiagnosticCode::Other` when no error has been mapped.
476+
*/
477+
enum NonoDiagnosticCode nono_last_diagnostic_code(void);
478+
479+
/**
480+
* Return JSON for the remediation attached to the most recently mapped error.
481+
*
482+
* Caller must free with `nono_string_free()`. Returns NULL when no remediation exists.
483+
*/
484+
char *nono_last_remediation_json(void);
485+
486+
/**
487+
* Build a session diagnostic report JSON object from serialized denial inputs.
488+
*
489+
* Each `*_json` argument may be NULL, an empty string, or a JSON array of
490+
* denial, IPC denial, or violation records.
491+
*
492+
* # Safety
493+
*
494+
* Pointer arguments must be null or valid null-terminated UTF-8 for the
495+
* duration of the call. Caller frees the returned string with `nono_string_free()`.
496+
* Returns NULL on failure; call `nono_last_error()`.
497+
*/
498+
char *nono_session_diagnostic_report_to_json(int32_t exit_code,
499+
const char *denials_json,
500+
const char *ipc_denials_json,
501+
const char *violations_json);
502+
503+
/**
504+
* Merge session report JSON with an optional proxy diagnostics JSON array.
505+
*
506+
* `session_json` must be a report object from `nono_session_diagnostic_report_to_json`
507+
* or `SessionDiagnosticReport::to_json()`. `proxy_diagnostics_json` may be NULL
508+
* or empty to return `{ "session": ... }` only.
509+
*
510+
* # Safety
511+
*
512+
* Pointer arguments must be null or valid null-terminated UTF-8 for the
513+
* duration of the call. Caller frees the returned string with `nono_string_free()`.
514+
* Returns NULL on failure; call `nono_last_error()`.
515+
*/
516+
char *nono_merge_diagnostic_report_json(const char *session_json,
517+
const char *proxy_diagnostics_json);
518+
450519
/**
451520
* Get the number of filesystem capabilities in the set.
452521
*
208 KB
Binary file not shown.

artifacts/libnono-darwin_arm64/nono.h

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,28 @@ typedef enum NonoErrorCode {
110110
NONO_ERROR_CODE_ERR_UNKNOWN = -99,
111111
} NonoErrorCode;
112112

113+
/**
114+
* Diagnostic code for sandbox and setup errors.
115+
*/
116+
typedef enum NonoDiagnosticCode {
117+
NONO_DIAGNOSTIC_CODE_SANDBOX_DENIED_PATH = 0,
118+
NONO_DIAGNOSTIC_CODE_SANDBOX_DENIED_NETWORK = 1,
119+
NONO_DIAGNOSTIC_CODE_SANDBOX_DENIED_UNIX_SOCKET = 2,
120+
NONO_DIAGNOSTIC_CODE_COMMAND_NOT_FOUND = 3,
121+
NONO_DIAGNOSTIC_CODE_COMMAND_FAILED_LIKELY_SANDBOX = 4,
122+
NONO_DIAGNOSTIC_CODE_COMMAND_FAILED_APPLICATION = 5,
123+
NONO_DIAGNOSTIC_CODE_CREDENTIAL_NOT_FOUND = 6,
124+
NONO_DIAGNOSTIC_CODE_CREDENTIAL_UNAVAILABLE = 7,
125+
NONO_DIAGNOSTIC_CODE_UNSUPPORTED_PLATFORM_FEATURE = 8,
126+
NONO_DIAGNOSTIC_CODE_ROLLBACK_BUDGET_EXCEEDED = 9,
127+
NONO_DIAGNOSTIC_CODE_CWD_ACCESS_REQUIRED = 10,
128+
NONO_DIAGNOSTIC_CODE_CONFIGURATION_ERROR = 11,
129+
NONO_DIAGNOSTIC_CODE_TRUST_VERIFICATION_FAILED = 12,
130+
NONO_DIAGNOSTIC_CODE_IO_ERROR = 13,
131+
NONO_DIAGNOSTIC_CODE_CANCELLED = 14,
132+
NONO_DIAGNOSTIC_CODE_OTHER = 99,
133+
} NonoDiagnosticCode;
134+
113135
/**
114136
* Tag for capability source discriminant.
115137
*/
@@ -447,6 +469,53 @@ bool nono_capability_set_is_network_blocked(const struct NonoCapabilitySet *caps
447469
*/
448470
char *nono_capability_set_summary(const struct NonoCapabilitySet *caps);
449471

472+
/**
473+
* Return the diagnostic code for the most recently mapped error on this thread.
474+
*
475+
* Returns `NonoDiagnosticCode::Other` when no error has been mapped.
476+
*/
477+
enum NonoDiagnosticCode nono_last_diagnostic_code(void);
478+
479+
/**
480+
* Return JSON for the remediation attached to the most recently mapped error.
481+
*
482+
* Caller must free with `nono_string_free()`. Returns NULL when no remediation exists.
483+
*/
484+
char *nono_last_remediation_json(void);
485+
486+
/**
487+
* Build a session diagnostic report JSON object from serialized denial inputs.
488+
*
489+
* Each `*_json` argument may be NULL, an empty string, or a JSON array of
490+
* denial, IPC denial, or violation records.
491+
*
492+
* # Safety
493+
*
494+
* Pointer arguments must be null or valid null-terminated UTF-8 for the
495+
* duration of the call. Caller frees the returned string with `nono_string_free()`.
496+
* Returns NULL on failure; call `nono_last_error()`.
497+
*/
498+
char *nono_session_diagnostic_report_to_json(int32_t exit_code,
499+
const char *denials_json,
500+
const char *ipc_denials_json,
501+
const char *violations_json);
502+
503+
/**
504+
* Merge session report JSON with an optional proxy diagnostics JSON array.
505+
*
506+
* `session_json` must be a report object from `nono_session_diagnostic_report_to_json`
507+
* or `SessionDiagnosticReport::to_json()`. `proxy_diagnostics_json` may be NULL
508+
* or empty to return `{ "session": ... }` only.
509+
*
510+
* # Safety
511+
*
512+
* Pointer arguments must be null or valid null-terminated UTF-8 for the
513+
* duration of the call. Caller frees the returned string with `nono_string_free()`.
514+
* Returns NULL on failure; call `nono_last_error()`.
515+
*/
516+
char *nono_merge_diagnostic_report_json(const char *session_json,
517+
const char *proxy_diagnostics_json);
518+
450519
/**
451520
* Get the number of filesystem capabilities in the set.
452521
*
345 KB
Binary file not shown.

artifacts/libnono-linux_amd64/nono.h

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,28 @@ typedef enum NonoErrorCode {
110110
NONO_ERROR_CODE_ERR_UNKNOWN = -99,
111111
} NonoErrorCode;
112112

113+
/**
114+
* Diagnostic code for sandbox and setup errors.
115+
*/
116+
typedef enum NonoDiagnosticCode {
117+
NONO_DIAGNOSTIC_CODE_SANDBOX_DENIED_PATH = 0,
118+
NONO_DIAGNOSTIC_CODE_SANDBOX_DENIED_NETWORK = 1,
119+
NONO_DIAGNOSTIC_CODE_SANDBOX_DENIED_UNIX_SOCKET = 2,
120+
NONO_DIAGNOSTIC_CODE_COMMAND_NOT_FOUND = 3,
121+
NONO_DIAGNOSTIC_CODE_COMMAND_FAILED_LIKELY_SANDBOX = 4,
122+
NONO_DIAGNOSTIC_CODE_COMMAND_FAILED_APPLICATION = 5,
123+
NONO_DIAGNOSTIC_CODE_CREDENTIAL_NOT_FOUND = 6,
124+
NONO_DIAGNOSTIC_CODE_CREDENTIAL_UNAVAILABLE = 7,
125+
NONO_DIAGNOSTIC_CODE_UNSUPPORTED_PLATFORM_FEATURE = 8,
126+
NONO_DIAGNOSTIC_CODE_ROLLBACK_BUDGET_EXCEEDED = 9,
127+
NONO_DIAGNOSTIC_CODE_CWD_ACCESS_REQUIRED = 10,
128+
NONO_DIAGNOSTIC_CODE_CONFIGURATION_ERROR = 11,
129+
NONO_DIAGNOSTIC_CODE_TRUST_VERIFICATION_FAILED = 12,
130+
NONO_DIAGNOSTIC_CODE_IO_ERROR = 13,
131+
NONO_DIAGNOSTIC_CODE_CANCELLED = 14,
132+
NONO_DIAGNOSTIC_CODE_OTHER = 99,
133+
} NonoDiagnosticCode;
134+
113135
/**
114136
* Tag for capability source discriminant.
115137
*/
@@ -447,6 +469,53 @@ bool nono_capability_set_is_network_blocked(const struct NonoCapabilitySet *caps
447469
*/
448470
char *nono_capability_set_summary(const struct NonoCapabilitySet *caps);
449471

472+
/**
473+
* Return the diagnostic code for the most recently mapped error on this thread.
474+
*
475+
* Returns `NonoDiagnosticCode::Other` when no error has been mapped.
476+
*/
477+
enum NonoDiagnosticCode nono_last_diagnostic_code(void);
478+
479+
/**
480+
* Return JSON for the remediation attached to the most recently mapped error.
481+
*
482+
* Caller must free with `nono_string_free()`. Returns NULL when no remediation exists.
483+
*/
484+
char *nono_last_remediation_json(void);
485+
486+
/**
487+
* Build a session diagnostic report JSON object from serialized denial inputs.
488+
*
489+
* Each `*_json` argument may be NULL, an empty string, or a JSON array of
490+
* denial, IPC denial, or violation records.
491+
*
492+
* # Safety
493+
*
494+
* Pointer arguments must be null or valid null-terminated UTF-8 for the
495+
* duration of the call. Caller frees the returned string with `nono_string_free()`.
496+
* Returns NULL on failure; call `nono_last_error()`.
497+
*/
498+
char *nono_session_diagnostic_report_to_json(int32_t exit_code,
499+
const char *denials_json,
500+
const char *ipc_denials_json,
501+
const char *violations_json);
502+
503+
/**
504+
* Merge session report JSON with an optional proxy diagnostics JSON array.
505+
*
506+
* `session_json` must be a report object from `nono_session_diagnostic_report_to_json`
507+
* or `SessionDiagnosticReport::to_json()`. `proxy_diagnostics_json` may be NULL
508+
* or empty to return `{ "session": ... }` only.
509+
*
510+
* # Safety
511+
*
512+
* Pointer arguments must be null or valid null-terminated UTF-8 for the
513+
* duration of the call. Caller frees the returned string with `nono_string_free()`.
514+
* Returns NULL on failure; call `nono_last_error()`.
515+
*/
516+
char *nono_merge_diagnostic_report_json(const char *session_json,
517+
const char *proxy_diagnostics_json);
518+
450519
/**
451520
* Get the number of filesystem capabilities in the set.
452521
*
322 KB
Binary file not shown.

artifacts/libnono-linux_arm64/nono.h

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,28 @@ typedef enum NonoErrorCode {
110110
NONO_ERROR_CODE_ERR_UNKNOWN = -99,
111111
} NonoErrorCode;
112112

113+
/**
114+
* Diagnostic code for sandbox and setup errors.
115+
*/
116+
typedef enum NonoDiagnosticCode {
117+
NONO_DIAGNOSTIC_CODE_SANDBOX_DENIED_PATH = 0,
118+
NONO_DIAGNOSTIC_CODE_SANDBOX_DENIED_NETWORK = 1,
119+
NONO_DIAGNOSTIC_CODE_SANDBOX_DENIED_UNIX_SOCKET = 2,
120+
NONO_DIAGNOSTIC_CODE_COMMAND_NOT_FOUND = 3,
121+
NONO_DIAGNOSTIC_CODE_COMMAND_FAILED_LIKELY_SANDBOX = 4,
122+
NONO_DIAGNOSTIC_CODE_COMMAND_FAILED_APPLICATION = 5,
123+
NONO_DIAGNOSTIC_CODE_CREDENTIAL_NOT_FOUND = 6,
124+
NONO_DIAGNOSTIC_CODE_CREDENTIAL_UNAVAILABLE = 7,
125+
NONO_DIAGNOSTIC_CODE_UNSUPPORTED_PLATFORM_FEATURE = 8,
126+
NONO_DIAGNOSTIC_CODE_ROLLBACK_BUDGET_EXCEEDED = 9,
127+
NONO_DIAGNOSTIC_CODE_CWD_ACCESS_REQUIRED = 10,
128+
NONO_DIAGNOSTIC_CODE_CONFIGURATION_ERROR = 11,
129+
NONO_DIAGNOSTIC_CODE_TRUST_VERIFICATION_FAILED = 12,
130+
NONO_DIAGNOSTIC_CODE_IO_ERROR = 13,
131+
NONO_DIAGNOSTIC_CODE_CANCELLED = 14,
132+
NONO_DIAGNOSTIC_CODE_OTHER = 99,
133+
} NonoDiagnosticCode;
134+
113135
/**
114136
* Tag for capability source discriminant.
115137
*/
@@ -447,6 +469,53 @@ bool nono_capability_set_is_network_blocked(const struct NonoCapabilitySet *caps
447469
*/
448470
char *nono_capability_set_summary(const struct NonoCapabilitySet *caps);
449471

472+
/**
473+
* Return the diagnostic code for the most recently mapped error on this thread.
474+
*
475+
* Returns `NonoDiagnosticCode::Other` when no error has been mapped.
476+
*/
477+
enum NonoDiagnosticCode nono_last_diagnostic_code(void);
478+
479+
/**
480+
* Return JSON for the remediation attached to the most recently mapped error.
481+
*
482+
* Caller must free with `nono_string_free()`. Returns NULL when no remediation exists.
483+
*/
484+
char *nono_last_remediation_json(void);
485+
486+
/**
487+
* Build a session diagnostic report JSON object from serialized denial inputs.
488+
*
489+
* Each `*_json` argument may be NULL, an empty string, or a JSON array of
490+
* denial, IPC denial, or violation records.
491+
*
492+
* # Safety
493+
*
494+
* Pointer arguments must be null or valid null-terminated UTF-8 for the
495+
* duration of the call. Caller frees the returned string with `nono_string_free()`.
496+
* Returns NULL on failure; call `nono_last_error()`.
497+
*/
498+
char *nono_session_diagnostic_report_to_json(int32_t exit_code,
499+
const char *denials_json,
500+
const char *ipc_denials_json,
501+
const char *violations_json);
502+
503+
/**
504+
* Merge session report JSON with an optional proxy diagnostics JSON array.
505+
*
506+
* `session_json` must be a report object from `nono_session_diagnostic_report_to_json`
507+
* or `SessionDiagnosticReport::to_json()`. `proxy_diagnostics_json` may be NULL
508+
* or empty to return `{ "session": ... }` only.
509+
*
510+
* # Safety
511+
*
512+
* Pointer arguments must be null or valid null-terminated UTF-8 for the
513+
* duration of the call. Caller frees the returned string with `nono_string_free()`.
514+
* Returns NULL on failure; call `nono_last_error()`.
515+
*/
516+
char *nono_merge_diagnostic_report_json(const char *session_json,
517+
const char *proxy_diagnostics_json);
518+
450519
/**
451520
* Get the number of filesystem capabilities in the set.
452521
*

0 commit comments

Comments
 (0)