website: Copy files during build. website: Allow for mixed env builds. website: Reduce build size. website: Expose build. website: Add build memory debugging. WIP: Disable broken links check to compare memory usage. website: Update deps. website: Clean up API paths. website: Flesh out 3.8 fixes. Format. website: Update ignore paths. Website: Clean up integrations build. website: Fix paths. website: Optimize remark. website: Update deps. website: Format. website: Remove linking. website: Fix paths. wip: Attempt API only build. Prep. Migrate render to runtime. Tidy sidebar. Clean up templates. docs: Move directory. WIP docs: Flesh out split. website: Fix issue where routes have collisions.
83 lines
2.1 KiB
TypeScript
83 lines
2.1 KiB
TypeScript
import styles from "./styles.module.css";
|
|
|
|
const RADIUSProtocols = [
|
|
"PAP",
|
|
"CHAP",
|
|
"Digest",
|
|
"MS-CHAP",
|
|
"PEAP",
|
|
"MS-CHAPv2",
|
|
"Cisco LEAP",
|
|
"EAP-GTC",
|
|
"EAP-MD5",
|
|
"EAP-PWD",
|
|
] as const satisfies string[];
|
|
|
|
type RADIUSProtocol = (typeof RADIUSProtocols)[number];
|
|
|
|
const HashKinds = [
|
|
"Cleartext",
|
|
"NT",
|
|
"MD5",
|
|
"Salted MD5",
|
|
"SHA1",
|
|
"Salted SHA1",
|
|
"Unix Crypt",
|
|
] as const satisfies string[];
|
|
|
|
type HashKind = (typeof HashKinds)[number];
|
|
|
|
const supportMatrix: Record<HashKind, RADIUSProtocol[]> = {
|
|
"Cleartext": [
|
|
"PAP",
|
|
"CHAP",
|
|
"Digest",
|
|
"MS-CHAP",
|
|
"PEAP",
|
|
"MS-CHAPv2",
|
|
"Cisco LEAP",
|
|
"EAP-GTC",
|
|
"EAP-MD5",
|
|
"EAP-PWD",
|
|
],
|
|
"NT": ["PAP", "MS-CHAP", "PEAP", "MS-CHAPv2", "Cisco LEAP", "EAP-GTC"],
|
|
"MD5": ["PAP", "EAP-GTC"],
|
|
"Salted MD5": ["PAP", "EAP-GTC"],
|
|
"SHA1": ["PAP", "EAP-GTC"],
|
|
"Salted SHA1": ["PAP", "EAP-GTC", "EAP-PWD"],
|
|
"Unix Crypt": ["PAP", "EAP-GTC", "EAP-PWD"],
|
|
};
|
|
|
|
export const HashSupport: React.FC = () => {
|
|
return (
|
|
<table className={styles.table}>
|
|
<thead>
|
|
<tr>
|
|
<th></th>
|
|
{HashKinds.map((hashKind, i) => (
|
|
<th key={i}>{hashKind}</th>
|
|
))}
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody>
|
|
{RADIUSProtocols.map((radiusProtocol, i) => (
|
|
<tr key={i}>
|
|
<td>{radiusProtocol}</td>
|
|
{HashKinds.map((hashKind) => {
|
|
const protocols = supportMatrix[hashKind];
|
|
const supported = protocols.includes(radiusProtocol);
|
|
|
|
return (
|
|
<td data-supported={supported} key={hashKind}>
|
|
{supported ? "✓" : "✗"}
|
|
</td>
|
|
);
|
|
})}
|
|
</tr>
|
|
))}
|
|
</tbody>
|
|
</table>
|
|
);
|
|
};
|