Projects
home:rottame:yggdra_agents
mail_agent
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 30
View file
rubygem-mail_agent.changes
Changed
@@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Thu Aug 13 08:05:09 UTC 2026 - Angelo Grossini <rottame@intercom.it> + +- Update mail_agent service configuration, remove Cluebringer + models, and adjust dependencies in mail_agent.rb + +------------------------------------------------------------------- Thu Jan 15 14:22:24 UTC 2026 - Angelo Grossini <rottame@intercom.it> - use sysusers for user management
View file
rubygem-mail_agent.spec
Changed
@@ -1,4 +1,4 @@ -%define package_version 1.2.3 +%define package_version 1.2.4 %define mod_name mail_agent %define mod_full_name %{mod_name}-%{version}
View file
mail_agent-1.2.3.gem/data/lib/mail_agent/models/cluebringer/policy.rb
Deleted
@@ -1,10 +0,0 @@ - -module MailAgent - module Models - module Cluebringer - class Policy < MailAgent::Models::Cluebringer::Base - self.table_name = 'policies' - end - end - end -end
View file
mail_agent-1.2.3.gem/data/lib/mail_agent/models/cluebringer/policy_group.rb
Deleted
@@ -1,58 +0,0 @@ - -module MailAgent - module Models - module Cluebringer - class PolicyGroup < MailAgent::Models::Cluebringer::Base - self.primary_key = 'ID' - self.table_name = 'policy_groups' - - POLICIES = { - 'default_for_identities' => { auth: 'bulk_auth_senders', anon: 'bulk_ip_senders' }, - 'usr_128_h' => { auth: 'bulk_auth_senders_128', anon: 'bulk_ip_senders_128' }, - 'usr_512_h' => { auth: 'bulk_auth_senders_512', anon: 'bulk_ip_senders_512' }, - 'usr_1k_h' => { auth: 'bulk_auth_senders_1k', anon: 'bulk_ip_senders_1k' }, - 'usr_4k_h' => { auth: 'bulk_auth_senders_4k', anon: 'bulk_ip_senders_4k' }, - 'usr_12k_h' => { auth: 'bulk_auth_senders_12k', anon: 'bulk_ip_senders_12k' }, - } - - def self.build_default_policy_groups! - POLICIES.each do | _, v | - v.values.each do | policy | - r = self.find_or_create_by(Name: policy) - r.Disabled = false - r.save! - end - end - end - - has_many :members, - class_name: 'MailAgent::Models::Cluebringer::PolicyGroupMember', - primary_key: 'ID', - foreign_key: 'PolicyGroupID' - - def self.get(policy, anon = false) - policies = POLICIESpolicy.to_s - policy = (anon ? policies:anon : policies:auth) if policies - raise ArgumentError.new "policy not found: \"#{policy}\", anonymous: #{anon.inspect}" unless policy - grp = self.find_by(name: policy) - raise ArgumentError.new "policy not found: \"#{policy}\", anonymous: #{anon.inspect}" unless grp - grp - end - - def self.build_default! - POLICIES.each do | k, list | - list.values.each do | pol | - record = self.find_or_initialize_by Name: pol - record.Disabled = false - record.save! - end - end - end - - def policy_name - POLICIES.find{|k,v| v.values.include? self.Name}.try(&:first) - end - end - end - end -end
View file
mail_agent-1.2.3.gem/data/lib/mail_agent/models/cluebringer/policy_group_member.rb
Deleted
@@ -1,79 +0,0 @@ - -module MailAgent - module Models - module Cluebringer - class PolicyGroupMember < MailAgent::Models::Cluebringer::Base - self.primary_key = 'ID' - self.table_name = 'policy_group_members' - - belongs_to :group, - class_name: 'MailAgent::Models::Cluebringer::PolicyGroup', - primary_key: 'ID', - foreign_key: 'PolicyGroupID' - - scope :managed, -> { where arel_table:Comment.matches('hel:%') } - - before_destroy :reset_quota_trackings - - def self.find_by_hel(object) - self.managed.where_uuid(object.uuid).first - end - - def self.where_uuid(uuid) - uuid = uuid.flatten - uuid = uuid.map{|u| u ? "hel:#{u}" : u} - self.where(Comment: uuid) - end - - def self.create_or_update_with_hel!(ext) - raise "#{ext.to_s} isn't a Ygg::SimpleService::Email::RelayExtension" unless ext.is_a?(Ygg::SimpleService::Email::RelayExtension) - pg = PolicyGroup.get(ext.rate_limit, ext.is_address?) - member = if ext.is_address? - ext.ip - elsif ext.is_identity? - "$#{ext.login}" - end - - pgm = self.find_or_initialize_by(Member: member) # maybe exists a manual entry - - unless pgm.persisted? && pgm.PolicyGroupID == pg.ID - key = if ext.is_address? - "SenderIP:#{ext.ip}/32" unless ext.ip =~ /\// - "SenderIP:#{ext.ip}" if ext.ip =~ /\// - else - "SASLUsername:#{ext.login}" - end - QuotasTracking.where(TrackKey: key).delete_all if key - end - - pgm.attributes = { - PolicyGroupID: pg.ID, - Member: member, - Disabled: !!(ext.on_hold || ext.domain_on_hold), - Comment: "hel:#{ext.uuid}" - } - - pgm.save! - pgm - end - - def uuid - self.Comment.gsub(/\Ahel:/, '') if self.Comment =~ /\Ahel:/ - end - - protected - - def reset_quota_trackings - member = self.Member.gsub(/\A\$/, '') - key = if member =~ /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/ - "SenderIP:#{member}/32" unless member =~ /\// - "SenderIP:#{member}" if member =~ /\// - else - "SASLUsername:#{member}" - end - QuotasTracking.where(TrackKey: key).delete_all if key - end - end - end - end -end
View file
mail_agent-1.2.3.gem/data/lib/mail_agent/models/cluebringer/quotas_tracking.rb
Deleted
@@ -1,10 +0,0 @@ - -module MailAgent - module Models - module Cluebringer - class QuotasTracking < MailAgent::Models::Cluebringer::Base - self.table_name = 'quotas_tracking' - end - end - end -end
View file
mail_agent-1.2.3.gem/checksums.yaml.gz -> mail_agent-1.2.4.gem/checksums.yaml.gz
Changed
@@ -1,7 +1,7 @@ --- SHA256: - metadata.gz: 2b81697332979628012565e7444f3248c6bed90cc1da5876bf0185c6e8be8620 - data.tar.gz: e05e4daeb0d2200a2c41c8547e0c0b81912bcb1c1cdbb8444ab1b117453249f7 + metadata.gz: 17edc82589535cdc6f2e6a61e659d4f31f1c697527969e82dd549f156e9716f4 + data.tar.gz: 98915bac8736e9646e941065e67bdc0b94192332f3b7f0650f44622a4f4ec432 SHA512: - metadata.gz: 569c8ce4cc73fdf798315a2e2b1de05aa2ebb42d5363ed3f39e47bcda70cfb1307abf56ae5ea94ca326e4c332a1f1b7fc000a8fd8aff35d095002cbf166c25ab - data.tar.gz: 57d7ce0ebb29214ace3228a7d02dbe7daf3ab38017dd099af7a59884afb361d2e95ed5ec663449ed5a9bc616d3b9321f8b849c02a461043284681eb088ac2125 + metadata.gz: c801b69fb2de61b99146e71fa35f76a7cc7b6eb6f55f95abe1d7ba678e93b241fae5add31b8e7980fcc0b214bbc3c22864a250c55c16d76b8fc19447396a50f8 + data.tar.gz: 0dfc566433869c798f852950467cf902ca45630998604f168ee7a43a3af359c5965552ecde9900d0b368b2d15964763f747dd55428a2cd72360610ae9ba6f33c
View file
mail_agent-1.2.3.gem/data/lib/mail_agent/models.rb -> mail_agent-1.2.4.gem/data/lib/mail_agent/models.rb
Changed
@@ -5,6 +5,5 @@ autoload :Email, 'mail_agent/models/email' autoload :Amavis, 'mail_agent/models/amavis' autoload :Policyd, 'mail_agent/models/policyd' - #autoload :Cluebringer, 'mail_agent/models/cluebringer' end end
View file
mail_agent-1.2.3.gem/data/lib/mail_agent/version.rb -> mail_agent-1.2.4.gem/data/lib/mail_agent/version.rb
Changed
@@ -1,3 +1,3 @@ module MailAgent - VERSION = "1.2.3" + VERSION = "1.2.4" end
View file
mail_agent-1.2.3.gem/data/lib/tomte/agents/mail_agent.rb -> mail_agent-1.2.4.gem/data/lib/tomte/agents/mail_agent.rb
Changed
@@ -32,7 +32,6 @@ ::MailAgent::Models::Email::Base.establish_connection config:database:email ::MailAgent::Models::Amavis::Base.establish_connection config:database:amavis ::MailAgent::Models::Policyd::Base.establish_connection config:database:policyd - ::MailAgent::Models::Cluebringer::Base.establish_connection config:database:cluebringer if config:raven && config:raven:dsn require 'raven'
View file
mail_agent-1.2.3.gem/metadata.gz -> mail_agent-1.2.4.gem/metadata.gz
Changed
@@ -1,14 +1,13 @@ --- !ruby/object:Gem::Specification name: mail_agent version: !ruby/object:Gem::Version - version: 1.2.3 + version: 1.2.4 platform: ruby authors: - Angelo Grossini -autorequire: bindir: bin cert_chain: -date: 2026-01-15 00:00:00.000000000 Z +date: 1980-01-02 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: tomte-agents @@ -282,10 +281,6 @@ - lib/mail_agent/models/amavis.rb - lib/mail_agent/models/amavis/user.rb - lib/mail_agent/models/cluebringer.rb -- lib/mail_agent/models/cluebringer/policy.rb -- lib/mail_agent/models/cluebringer/policy_group.rb -- lib/mail_agent/models/cluebringer/policy_group_member.rb -- lib/mail_agent/models/cluebringer/quotas_tracking.rb - lib/mail_agent/models/email.rb - lib/mail_agent/models/email/box.rb - lib/mail_agent/models/email/domain.rb @@ -333,7 +328,6 @@ licenses: - MIT metadata: {} -post_install_message: rdoc_options: require_paths: - lib @@ -348,8 +342,7 @@ - !ruby/object:Gem::Version version: '0' requirements: -rubygems_version: 3.5.22 -signing_key: +rubygems_version: 3.6.7 specification_version: 4 summary: Mail agent test_files:
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.