diff --git a/ChangeLog b/ChangeLog index 6310c4ef319..f21879edb5c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -40,6 +40,7 @@ For users: - Fix: Broken feature in trips and expense module. - Fix: Can use $ in database and login/pass values. - Fix: No error on upgrade if there is orphelins tasks. +- Fix: Failed to login when user agent string was longer than 128. ***** ChangeLog for 2.8 compared to 2.7 ***** diff --git a/htdocs/core/events.class.php b/htdocs/core/events.class.php index 634df840342..0b95443c7f9 100644 --- a/htdocs/core/events.class.php +++ b/htdocs/core/events.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2007-2010 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -95,7 +95,7 @@ class Events // extends CommonObject $sql.= " '".$this->type."',"; $sql.= " ".$conf->entity.","; $sql.= " '".$_SERVER['REMOTE_ADDR']."',"; - $sql.= " ".($_SERVER['HTTP_USER_AGENT']?"'".$_SERVER['HTTP_USER_AGENT']."'":'NULL').","; + $sql.= " ".($_SERVER['HTTP_USER_AGENT']?"'".dol_trunc($_SERVER['HTTP_USER_AGENT'],250)."'":'NULL').","; $sql.= " ".$this->db->idate($this->dateevent).","; $sql.= " ".($user->id?"'".$user->id."'":'NULL').","; $sql.= " '".addslashes($this->description)."'"; diff --git a/htdocs/install/mysql/migration/2.8.0-2.9.0.sql b/htdocs/install/mysql/migration/2.8.0-2.9.0.sql index fb53cc71335..d913303c91e 100755 --- a/htdocs/install/mysql/migration/2.8.0-2.9.0.sql +++ b/htdocs/install/mysql/migration/2.8.0-2.9.0.sql @@ -198,3 +198,5 @@ ALTER TABLE llx_element_milestone ADD CONSTRAINT fk_element_milestone_fk_milesto ALTER TABLE llx_deplacement ADD COLUMN fk_statut INTEGER DEFAULT 1 NOT NULL after type; drop table llx_appro; + +ALTER TABLE llx_events MODIFY COLUMN user_agent varchar(255) NULL; diff --git a/htdocs/install/mysql/tables/llx_events.sql b/htdocs/install/mysql/tables/llx_events.sql index cb80ca65e71..57ba9cd206b 100644 --- a/htdocs/install/mysql/tables/llx_events.sql +++ b/htdocs/install/mysql/tables/llx_events.sql @@ -33,7 +33,7 @@ create table llx_events fk_user integer, -- id user description varchar(250) NOT NULL, -- full description of action ip varchar(32) NOT NULL, -- ip - user_agent varchar(128) NULL, -- user agent + user_agent varchar(255) NULL, -- user agent fk_object integer -- id of related object ) type=innodb;