Bug #6636

Audit log field too small - PGError while creating OS with 255 characters in name

Added by Ori Rabin about 4 years ago. Updated 8 days ago.

Status:Closed
Priority:Normal
Assignee:Ori Rabin
Category:Audit Log
Target version:1.6.0
Difficulty: Team Backlog:
Triaged: Fixed in Releases:
Bugzilla link:1120181 Found in Releases:
Pull request:https://github.com/theforeman/foreman/pull/1593

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1120181
Description of problem:
I was trying boundary test and input a name of 255 characters and got an error on UI:

PGError: ERROR: value too long for type character varying(255) : INSERT INTO "audits" ("action", "associated_id", "associated_name", "associated_type", "auditable_id", "auditable_name", "auditable_type", "audited_changes", "comment", "created_at", "remote_address", "user_id", "user_type", "username", "version") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15) RETURNING "id"

Version-Release number of selected component (if applicable):
  • candlepin-0.9.19-1.el6_5.noarch
  • candlepin-scl-1-5.el6_4.noarch
  • candlepin-scl-quartz-2.1.5-5.el6_4.noarch
  • candlepin-scl-rhino-1.7R3-1.el6_4.noarch
  • candlepin-scl-runtime-1-5.el6_4.noarch
  • candlepin-selinux-0.9.19-1.el6_5.noarch
  • candlepin-tomcat6-0.9.19-1.el6_5.noarch
  • elasticsearch-0.90.10-4.el6sat.noarch
  • foreman-1.6.0.21-1.el6sat.noarch
  • foreman-compute-1.6.0.21-1.el6sat.noarch
  • foreman-gce-1.6.0.21-1.el6sat.noarch
  • foreman-libvirt-1.6.0.21-1.el6sat.noarch
  • foreman-ovirt-1.6.0.21-1.el6sat.noarch
  • foreman-postgresql-1.6.0.21-1.el6sat.noarch
  • foreman-proxy-1.6.0.9-1.el6sat.noarch
  • foreman-selinux-1.6.0-5.el6sat.noarch
  • foreman-vmware-1.6.0.21-1.el6sat.noarch
  • katello-1.5.0-26.el6sat.noarch
  • katello-ca-1.0-1.noarch
  • katello-certs-tools-1.5.5-1.el6sat.noarch
  • katello-installer-0.0.53-1.el6sat.noarch
  • openldap-2.4.23-32.el6_4.1.x86_64
  • pulp-katello-0.3-3.el6sat.noarch
  • pulp-nodes-common-2.4.0-0.23.beta.el6sat.noarch
  • pulp-nodes-parent-2.4.0-0.23.beta.el6sat.noarch
  • pulp-puppet-plugins-2.4.0-0.23.beta.el6sat.noarch
  • pulp-puppet-tools-2.4.0-0.23.beta.el6sat.noarch
  • pulp-rpm-plugins-2.4.0-0.23.beta.el6sat.noarch
  • pulp-selinux-2.4.0-0.23.beta.el6sat.noarch
  • pulp-server-2.4.0-0.23.beta.el6sat.noarch
  • python-ldap-2.3.10-1.el6.x86_64
  • ruby193-rubygem-net-ldap-0.3.1-3.el6sat.noarch
  • ruby193-rubygem-runcible-1.1.0-2.el6sat.noarch
  • rubygem-hammer_cli-0.1.1-5.el6sat.noarch
  • rubygem-hammer_cli_foreman-0.1.1-9.el6sat.noarch
  • rubygem-hammer_cli_foreman_tasks-0.0.3-2.el6sat.noarch
  • rubygem-hammer_cli_katello-0.0.4-7.el6sat.noarch

How reproducible:
always

Steps to Reproduce:
1. create OS with 255 characters in name
2.
3.

Actual results:
PGError: ERROR: value too long for type character varying(255) : INSERT INTO "audits" ("action", "associated_id", "associated_name", "associated_type", "auditable_id", "auditable_name", "auditable_type", "audited_changes", "comment", "created_at", "remote_address", "user_id", "user_type", "username", "version") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15) RETURNING "id"

Expected results:
A proper validation error should be raised with characters limit if limit exceeds 255 char.

Additional info:

production.log:

Processing by OperatingsystemsController#create as */*
Parameters: {"utf8"=>"✓", "search"=>"", "authenticity_token"=>"clydbCf5GuLU0YIYbdglJJVF0MSJYDNyvaeibEvu9Tw=", "operatingsystem"=>{"name"=>"yodWSsEDLYtoNf21xwtCJPZOYHm4qDCMyf4ogBe0Kxs7tQyxzaJuOn3F6EUwy6WnVaIoB0wVOSDX3fMgmMqkeMl9pzlPGep343XaMX7W35roCJXRPuEROmuANs8Ajxipetk93FnbDyTSR4zClj0lt9dcmEppe3a9Tdzm9b5aNEyNSdO2GFIKcFqgwX8qKFaNAGsl5qe2ULHVvJEhPyOQKNs6iBbhJxZP9qF9LtB2aHjKerX4cTCsUZoNLp8aR5M", "major"=>"2", "minor"=>"5", "description"=>"", "family"=>"Redhat", "release_name"=>"", "architecture_ids"=>["2", "", "", ""], "ptable_ids"=>[""], "medium_ids"=>[""]}}
Operation FAILED: PGError: ERROR: value too long for type character varying(255)
: INSERT INTO "audits" ("action", "associated_id", "associated_name", "associated_type", "auditable_id", "auditable_name", "auditable_type", "audited_changes", "comment", "created_at", "remote_address", "user_id", "user_type", "username", "version") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15) RETURNING "id"
Rendered common/500.html.erb (18.5ms)
Completed 500 Internal Server Error in 81ms (Views: 20.2ms | ActiveRecord: 8.3ms)


Related issues

Related to Foreman - Bug #6658: creating compute resource with name more than 245 chars f... Duplicate 07/17/2014

Associated revisions

Revision 3034e8e2
Added by Ori Rabin almost 4 years ago

fixes #6636, #6657, #6694 - add field length validations, extend audit field length

History

#1 Updated by Ori Rabin about 4 years ago

  • Status changed from New to Ready For Testing

#2 Updated by The Foreman Bot about 4 years ago

  • Target version set to 1.8.0
  • Pull request https://github.com/theforeman/foreman/pull/1593 added

#3 Updated by Dominic Cleal almost 4 years ago

  • Category set to Audit Log

#4 Updated by Dominic Cleal almost 4 years ago

  • Related to Bug #6658: creating compute resource with name more than 245 chars fails added

#5 Updated by Dominic Cleal almost 4 years ago

  • Subject changed from PGError while creating OS with 255 characters in name to Audit log field too small - PGError while creating OS with 255 characters in name

#6 Updated by Dmitri Dolguikh almost 4 years ago

  • Target version changed from 1.8.0 to 1.7.5

#7 Updated by Dominic Cleal almost 4 years ago

  • Legacy Backlogs Release (now unused) set to 10

#8 Updated by Ori Rabin almost 4 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100

Also available in: Atom PDF