GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — [ticket/17768] Double submit issues during poll voting by marc1706 · Pull Request #7115 · phpbb/phpbb

Conversation

@marc1706

@marc1706 marc1706 commented Nov 2, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

PHPBB-17768

Checklist:

  • Correct branch: master for new features; 3.3.x for fixes
  • Tests pass
  • Code follows coding guidelines: master and 3.3.x
  • Commit follows commit message format

Tracker ticket:

https://tracker.phpbb.com/browse/PHPBB-17768

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@marc1706
[ticket/17768] Double submit issues during poll voting
ad65d94
PHPBB-17768
@marc1706 marc1706 added the 3.3 (Proteus) 🌑 label Nov 2, 2026
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

The attempt to merge branch 3.3.x into master has completed after considering the changes in this PR.

  • Merge result: Success ✅

This PR is ready to be merged.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@marc1706 marc1706 added this to the 3.3.20 milestone Nov 2, 2026
@marc1706
marc1706 requested a lite review from Copilot November 3, 2026 19:31
Copilot started reviewing on behalf of marc1706 November 3, 2026 19:35
View session
Copilot AI reviewed Nov 3, 2026
View reviewed changes

Copilot AI left a comment

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The change still has two critical active issues: guest duplicate submissions remain possible because they lack server-side transaction state, and the locking approach is not atomic on supported non-transactional table engines.

2 open issues
  • High severity Vote locking is not atomic on MyISAM tables · New
  • High severity Guest vote checks rely on a cookie, allowing concurrent double submits · New
What changed in this PR

This pull request addresses duplicate poll submissions by validating poll options and serializing registered-user vote updates.

Changes:

  • Filters submitted vote IDs to valid poll options.
  • Adds transactional locking and duplicate-vote detection for registered users.
  • Adds a functional regression test and a duplicate-vote language string.
  • Remaining issues affect guest submissions, non-transactional database engines, and concurrent-request test coverage.
File Summary
tests/​functional/​posting_test.php Adds coverage for invalid options and repeated poll submissions, but does not exercise truly concurrent requests.
phpBB/​viewtopic.php Validates poll options and coordinates vote updates transactionally; guest requests and non-transactional engines still require handling.
phpBB/​language/​en/​viewtopic.php Adds the message displayed when a vote has already been cast.

This pull request requires changes.

Review effort: Lite

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread phpBB/viewtopic.php Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread phpBB/viewtopic.php Resolved

Uh oh!

There was an error while loading. Please reload this page.

@marc1706
marc1706 requested a lite review from Copilot November 3, 2026 20:24
Copilot started reviewing on behalf of marc1706 November 3, 2026 20:25
View session
Copilot AI reviewed Nov 3, 2026
View reviewed changes

Copilot AI left a comment

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

A moderate active finding remains because the test does not reproduce the concurrent double-submit or exercise the transaction re-read branch, so it can pass against the old implementation.

1 open issue
  • Medium severity Make the duplicate-vote test exercise concurrent submissions · New
2 resolved since last review
  • High severity Guest vote checks rely on a cookie, allowing concurrent double submits
  • High severity Vote locking is not atomic on MyISAM tables

Review effort: Lite

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread tests/functional/posting_test.php Resolved

Uh oh!

There was an error while loading. Please reload this page.

@marc1706
[ticket/17768] Remove stale form submission from poll vote test
74d3d04
PHPBB-17768
@marc1706
marc1706 requested a lite review from Copilot November 3, 2026 20:35
Copilot started reviewing on behalf of marc1706 November 3, 2026 20:37
View session
Copilot AI reviewed Nov 3, 2026
View reviewed changes

Copilot AI left a comment

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The fix depends on row-lock and transaction semantics across phpBB’s supported database drivers, and the race lacks automated concurrent coverage, so human validation across those engines is needed.

No open issues 🎉

1 resolved since last review
  • Medium severity Make the duplicate-vote test exercise concurrent submissions

Review effort: Lite

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

Copilot code review Copilot
Copilot review effort
Applies to this pull request for everyone.Learn more about Copilot code review.
Copilot left review comments

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

3.3 (Proteus) 🌑

Projects

None yet

Milestone

3.3.20

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@marc1706
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.