Feature flag keys with one trailing newline are accepted

Đang mở Phù hợp với người mới
#1,806 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
1/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
88/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
backend

Hướng nghiên cứu

Đọc bộ xác thực khóa trong backend/app/schemas/feature_flag.py và kiểm tra cách nó xử lý bốn ví dụ về khóa được mô tả trong issue. Cập nhật phần xác thực để từ chối ký tự xuống dòng ở cuối bằng thông báo khóa không hợp lệ hiện có. Sau đó, xác minh rằng các khóa hợp lệ vẫn được chấp nhận và các khóa không hợp lệ bị từ chối.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug

What happens. FeatureFlagCreate accepts a flag key that ends in one newline. FeatureFlagCreate(key="search_v2\n", name="x") is accepted and stores the key as 'search_v2\n'. Keys with a newline anywhere else ("a\nb") and keys with upper case or spaces are refused, as expected.

Why. The key validator in backend/app/schemas/feature_flag.py checks the key with re.match(r"^...$", key). In Python, $ also matches just before a final newline, so one trailing newline passes.

Expected. A key with a trailing newline is refused with the same message as any other invalid key (for example by using re.fullmatch or \Z).

Found while updating the Learn Python book (Hour 8 teaches $ versus \Z). Measured at main 09d815ea with a short script that builds FeatureFlagCreate for four keys.

Ngôn ngữ chính
Python
Star
0
Fork
4
Merge trung bình
6 giờ 43 phút
Pull request đã merge (30 ngày)
414

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Controlvar/controlvar

Tất cả issue của Controlvar/controlvar

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.