1
0
مراية لـ https://github.com/postalserver/postal.git تم المزامنة 2025-11-30 21:32:30 +00:00

Consistently treat tinyint(1) fields in message database as booleans (#2380)

* Update mysql2 query call to cast booleans

* Treat messages:held field as boolean

* Treat messages:inspected field as boolean

* Treat messages:spam field as boolean

* Treat messages:threat field as boolean

* Treat messages:bounce field as boolean

* Treat messages:received_with_ssl field as boolean

* Treat deliveries:sent_with_ssl field as boolean
هذا الالتزام موجود في:
Charlie Smurthwaite
2023-03-22 13:49:48 +00:00
ملتزم من قبل GitHub
الأصل 87e9b3e346
التزام 1e3622c49a
17 ملفات معدلة مع 38 إضافات و42 حذوفات

عرض الملف

@@ -153,7 +153,7 @@ class MessagesController < ApplicationController
def get_messages(scope)
if scope == "held"
options = { where: { held: 1 } }
options = { where: { held: true } }
else
options = { where: { scope: scope, spam: false }, order: :timestamp, direction: "desc" }

عرض الملف

@@ -87,7 +87,7 @@ class UnqueueMessageJob < Postal::Job
#
# If this is a bounce, we need to handle it as such
#
if queued_message.message.bounce == 1
if queued_message.message.bounce
log "#{log_prefix} Message is a bounce"
original_messages = queued_message.message.original_messages
unless original_messages.empty?
@@ -120,17 +120,17 @@ class UnqueueMessageJob < Postal::Job
#
# Inspect incoming messages
#
if queued_message.message.inspected == 0
unless queued_message.message.inspected
log "#{log_prefix} Inspecting message"
queued_message.message.inspect_message
if queued_message.message.inspected == 1
if queued_message.message.inspected
is_spam = queued_message.message.spam_score > queued_message.server.spam_threshold
queued_message.message.update(spam: 1) if is_spam
queued_message.message.update(spam: true) if is_spam
queued_message.message.append_headers(
"X-Postal-Spam: #{queued_message.message.spam == 1 ? 'yes' : 'no'}",
"X-Postal-Spam: #{queued_message.message.spam ? 'yes' : 'no'}",
"X-Postal-Spam-Threshold: #{queued_message.server.spam_threshold}",
"X-Postal-Spam-Score: #{queued_message.message.spam_score}",
"X-Postal-Threat: #{queued_message.message.threat == 1 ? 'yes' : 'no'}"
"X-Postal-Threat: #{queued_message.message.threat ? 'yes' : 'no'}"
)
log "#{log_prefix} Message inspected successfully. Headers added."
end
@@ -162,7 +162,7 @@ class UnqueueMessageJob < Postal::Job
if route = queued_message.message.route
# If the route says we're holding quananteed mail and this is spam, we'll hold this
if route.spam_mode == "Quarantine" && queued_message.message.spam == 1 && !queued_message.manual?
if route.spam_mode == "Quarantine" && queued_message.message.spam && !queued_message.manual?
queued_message.message.create_delivery("Held", details: "Message placed into quarantine.")
queued_message.destroy
log "#{log_prefix} Route says to quarantine spam message. Holding."
@@ -170,7 +170,7 @@ class UnqueueMessageJob < Postal::Job
end
# If the route says we're holding quananteed mail and this is spam, we'll hold this
if route.spam_mode == "Fail" && queued_message.message.spam == 1 && !queued_message.manual?
if route.spam_mode == "Fail" && queued_message.message.spam && !queued_message.manual?
queued_message.message.create_delivery("HardFail", details: "Message is spam and the route specifies it should be failed.")
queued_message.destroy
log "#{log_prefix} Route says to fail spam message. Hard failing."
@@ -325,18 +325,18 @@ class UnqueueMessageJob < Postal::Job
end
# Inspect outgoing messages when there's a threshold set for the server
if queued_message.message.inspected == 0 && queued_message.server.outbound_spam_threshold
if !queued_message.message.inspected && queued_message.server.outbound_spam_threshold
log "#{log_prefix} Inspecting message"
queued_message.message.inspect_message
if queued_message.message.inspected == 1
if queued_message.message.inspected
if queued_message.message.spam_score >= queued_message.server.outbound_spam_threshold
queued_message.message.update(spam: 1)
queued_message.message.update(spam: true)
end
log "#{log_prefix} Message inspected successfully"
end
end
if queued_message.message.spam == 1
if queued_message.message.spam
queued_message.message.create_delivery("HardFail", details: "Message is likely spam. Threshold is #{queued_message.server.outbound_spam_threshold} and the message scored #{queued_message.message.spam_score}.")
queued_message.destroy
log "#{log_prefix} Message is spam (#{queued_message.message.spam_score}). Hard failing."

عرض الملف

@@ -191,7 +191,7 @@ class OutgoingMessagePrototype
message.tag = tag
message.credential_id = credential&.id
message.received_with_ssl = true
message.bounce = @bounce ? 1 : 0
message.bounce = @bounce
message.save
{ id: message.id, token: message.token }
end

عرض الملف

@@ -134,7 +134,7 @@ class Server < ApplicationRecord
end
def held_messages
@held_messages ||= message_db.messages(where: { held: 1 }, count: true)
@held_messages ||= message_db.messages(where: { held: true }, count: true)
end
def throughput_stats

عرض الملف

@@ -35,7 +35,7 @@
.deliveryList__time
= delivery.timestamp.to_s(:long)
.deliveryList__status
- if delivery.sent_with_ssl == 1
- if delivery.sent_with_ssl
= image_tag 'icons/lock.svg', :class => 'deliveryList__secure'
%span.label.label--large{:class => "label--messageStatus-#{delivery.status.underscore}"}= delivery.status.underscore.humanize
- if delivery.details

عرض الملف

@@ -41,5 +41,5 @@
%p.messageActivity__extra
- if @message.credential
Received using the #{@message.credential.name} #{@message.credential.type} credential.
- if @message.received_with_ssl == 1
- if @message.received_with_ssl
Connection secured with SSL.

عرض الملف

@@ -56,7 +56,7 @@
= link_to @message.domain.name, [organization, @server, :domains], :class => "u-link"
- else
Unknown Domain
- if @message.threat == 1
- if @message.threat
%dl.messagePropertiesPage__property
%dt Threat
%dd= @message.threat_details
@@ -66,8 +66,8 @@
- unless @message.received_with_ssl.nil?
%dl.messagePropertiesPage__property
%dt Transport Security
- if @message.received_with_ssl == 1
%dd.messagePropertiesPage__property--locked Received over a SSL connection
- if @message.received_with_ssl
%dd.messagePropertiesPage__property--locked Received over an SSL connection
- else
%dd Not received with SSL