rcf-cli 1.2.2__tar.gz → 1.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rcf_cli-1.2.2/rcf_cli.egg-info → rcf_cli-1.2.4}/PKG-INFO +1 -1
- {rcf_cli-1.2.2 → rcf_cli-1.2.4}/pyproject.toml +1 -1
- {rcf_cli-1.2.2 → rcf_cli-1.2.4}/rcf_cli/cli.py +11 -3
- {rcf_cli-1.2.2 → rcf_cli-1.2.4}/rcf_cli/scanner.py +3 -1
- {rcf_cli-1.2.2 → rcf_cli-1.2.4/rcf_cli.egg-info}/PKG-INFO +1 -1
- {rcf_cli-1.2.2 → rcf_cli-1.2.4}/tests/test_scanner.py +1 -1
- {rcf_cli-1.2.2 → rcf_cli-1.2.4}/LICENSE +0 -0
- {rcf_cli-1.2.2 → rcf_cli-1.2.4}/README.md +0 -0
- {rcf_cli-1.2.2 → rcf_cli-1.2.4}/rcf_cli/__init__.py +0 -0
- {rcf_cli-1.2.2 → rcf_cli-1.2.4}/rcf_cli.egg-info/SOURCES.txt +0 -0
- {rcf_cli-1.2.2 → rcf_cli-1.2.4}/rcf_cli.egg-info/dependency_links.txt +0 -0
- {rcf_cli-1.2.2 → rcf_cli-1.2.4}/rcf_cli.egg-info/entry_points.txt +0 -0
- {rcf_cli-1.2.2 → rcf_cli-1.2.4}/rcf_cli.egg-info/top_level.txt +0 -0
- {rcf_cli-1.2.2 → rcf_cli-1.2.4}/setup.cfg +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# NOTICE: This file is protected under RCF-PL v1.2.3
|
|
1
2
|
import argparse
|
|
2
3
|
import sys
|
|
3
4
|
import json
|
|
@@ -14,7 +15,7 @@ def init_project(args):
|
|
|
14
15
|
|
|
15
16
|
notice_content = f"""# RCF-PL NOTICE
|
|
16
17
|
|
|
17
|
-
This project (**{project_name}**) is protected under the **Restricted Correlation Framework Protocol License (RCF-PL) v1.
|
|
18
|
+
This project (**{project_name}**) is protected under the **Restricted Correlation Framework Protocol License (RCF-PL) v1.2.3**.
|
|
18
19
|
|
|
19
20
|
Copyright (c) {year} {author_name}. All rights reserved.
|
|
20
21
|
|
|
@@ -34,7 +35,7 @@ For full protocol details, visit: https://rcf.aliyev.site
|
|
|
34
35
|
else:
|
|
35
36
|
with open(notice_path, "w") as f:
|
|
36
37
|
f.write(notice_content)
|
|
37
|
-
print("✅ Generated NOTICE.md with RCF-PL v1.
|
|
38
|
+
print("✅ Generated NOTICE.md with RCF-PL v1.2.3 protections.")
|
|
38
39
|
|
|
39
40
|
rcfignore_path = os.path.join(os.getcwd(), ".rcfignore")
|
|
40
41
|
if not os.path.exists(rcfignore_path):
|
|
@@ -44,11 +45,18 @@ For full protocol details, visit: https://rcf.aliyev.site
|
|
|
44
45
|
|
|
45
46
|
print(f"🎉 RCF Protocol successfully initialized for '{project_name}'.")
|
|
46
47
|
|
|
48
|
+
# [RCF:RESTRICTED]
|
|
49
|
+
# Core audit logic for generating cryptographic compliance reports.
|
|
47
50
|
def audit_project(args):
|
|
48
51
|
license_key = args.license_key or os.environ.get("RCF_LICENSE_KEY")
|
|
49
52
|
uuid_regex = re.compile(r'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$')
|
|
50
53
|
|
|
51
|
-
|
|
54
|
+
admin_key_hash = "74bc881f2c077802d68ee7b42a2fe98988dd76c35d835b6fa14f6313f5cb9d7e"
|
|
55
|
+
provided_key_hash = hashlib.sha256(license_key.encode()).hexdigest() if license_key else ""
|
|
56
|
+
|
|
57
|
+
if provided_key_hash == admin_key_hash:
|
|
58
|
+
pass # Admin bypass
|
|
59
|
+
elif not license_key or not license_key.startswith("RCF-AUDIT-") or not uuid_regex.match(license_key.replace("RCF-AUDIT-", "")):
|
|
52
60
|
print("❌ RCF-PL ERROR: The 'audit' command is a premium feature.")
|
|
53
61
|
print(" Please provide a valid RCF-AUDIT license key via --license-key or RCF_LICENSE_KEY env variable.")
|
|
54
62
|
print(" Visit https://rcf.aliyev.site to obtain a license.")
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
# NOTICE: This file is protected under RCF-PL v1.2.2
|
|
1
2
|
import os
|
|
2
3
|
import re
|
|
3
4
|
from pathlib import Path
|
|
4
5
|
|
|
6
|
+
# [RCF:PROTECTED]
|
|
5
7
|
class RCFScanner:
|
|
6
8
|
"""Scans files and directories for RCF protocol markers."""
|
|
7
9
|
|
|
8
10
|
MARKER_PATTERN = re.compile(r'\[RCF:(PUBLIC|PROTECTED|RESTRICTED|NOTICE)\]')
|
|
9
|
-
HEADER_PATTERN = re.compile(r'NOTICE: This file is protected under RCF-PL v1.
|
|
11
|
+
HEADER_PATTERN = re.compile(r'NOTICE: This file is protected under RCF-PL v1.2.2')
|
|
10
12
|
|
|
11
13
|
def __init__(self, root_path, ignore_list=None):
|
|
12
14
|
self.root_path = Path(root_path)
|
|
@@ -8,7 +8,7 @@ def temp_workspace(tmp_path):
|
|
|
8
8
|
# Create a temporary file with RCF markers
|
|
9
9
|
protected_file = tmp_path / "protected_code.py"
|
|
10
10
|
protected_file.write_text(
|
|
11
|
-
"# NOTICE: This file is protected under RCF-PL v1.
|
|
11
|
+
"# NOTICE: This file is protected under RCF-PL v1.2.2\n"
|
|
12
12
|
"# [RCF:RESTRICTED]\n"
|
|
13
13
|
"def secret(): pass"
|
|
14
14
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|