Roundup Tracker - Issues

Issue 1216291

classification
Validate email addresses
Type: rfe Severity: normal
Components: None Versions:
process
Status: closed fixed
:
: jpend : jpend, larse, richard
Priority: normal :

Created on 2005-06-07 10:23 by larse, last changed 2007-09-12 21:12 by jpend.

Messages
msg3382 Author: [hidden] (larse) Date: 2005-06-07 10:23
Hi,

the (novice) admin of one of my trackers has erroneously created a 
user that has two email addresses in his email field, separated by a 
comma. Trying to view the user list web page now results in the error 
message below, and I am unable to change that field. The web 
interface should probably check for such illegal characters when 
creating new database entries.

Templating Error
exceptions.ValueError: too many values to unpack

Debugging information follows

In python expression "user.address.email() or default"
While evaluating the expression on line 29
Current variables:
templates	<roundup.cgi.templating.Templates instance at 0x88896ec>
repeat	<roundup.cgi.PageTemplates.TALES.SafeMapping instance 
at 0x899630c>
false	0
context	<HTMLClass(0x899624c) user>
utils	<roundup.cgi.templating.TemplatingUtils instance at 0x899606c>
db	<roundup.cgi.templating.HTMLDatabase instance at 0x89961ec>
nothing	None
i18n	<roundup.cgi.TranslationService.TranslationService instance at 
0x8986b0c>
true	1
default	<roundup.cgi.PageTemplates.TALES.Default instance at 
0x8454ecc>
request	<roundup.cgi.templating.HTMLRequest instance at 
0x89924cc>
tracker	<roundup.instance.Tracker instance at 0x8831c8c>
template	<Roundup PageTemplate 'user.index.html'>
config	<roundup.configuration.CoreConfig instance at 0x8751fec>
options	{'ok_message': [], 'error_message': []}
loop	<roundup.cgi.PageTemplates.TALES.SafeMapping instance at 
0x899630c>
attrs	{'tal:content': 'python:user.address.email() or default'}
user	<HTMLItem(0x89a606c) user 10>
A problem occurred in your template "user.index.html".
Full traceback:
Traceback (most recent call last):
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/client.py", line 
686, in renderContext
    result = pt.render(self, None, None, **args)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/templating.py", 
line 318, in render
    getEngine().getContext(c), output, tal=1, strictinsert=0)()
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 192, in __call__
    self.interpret(self.program)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 236, in interpret
    handlers[opcode](self, args)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 666, in do_useMacro
    self.interpret(macro)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 236, in interpret
    handlers[opcode](self, args)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 411, in do_optTag_tal
    self.do_optTag(stuff)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 396, in do_optTag
    return self.no_tag(start, program)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 391, in no_tag
    self.interpret(program)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 236, in interpret
    handlers[opcode](self, args)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 689, in do_defineSlot
    self.interpret(slot)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 236, in interpret
    handlers[opcode](self, args)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 632, in do_condition
    self.interpret(block)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 236, in interpret
    handlers[opcode](self, args)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 608, in do_loop_tal
    self.interpret(block)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 236, in interpret
    handlers[opcode](self, args)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 411, in do_optTag_tal
    self.do_optTag(stuff)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 396, in do_optTag
    return self.no_tag(start, program)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 391, in no_tag
    self.interpret(program)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 236, in interpret
    handlers[opcode](self, args)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/TAL/
TALInterpreter.py", line 486, in do_insertText_tal
    text = self.engine.evaluateText(stuff[0])
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/
PageTemplates/TALES.py", line 233, in evaluateText
    text = self.evaluate(expr)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/
PageTemplates/TALES.py", line 227, in evaluate
    return expression(self)
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/
PageTemplates/PythonExpr.py", line 69, in __call__
    return f()
  File "<string>", line 2, in f
  File "/usr/local/lib/python2.4/site-packages/roundup/cgi/templating.py", 
line 1238, in email
    name, domain = value.split('@')
ValueError: too many values to unpack

msg3383 Author: [hidden] (richard) Date: 2005-06-24 04:44
Logged In: YES 
user_id=6405

I will re-assign this to be a feature request - that of validating  
email addresses.  
  
To repair the damage, use the roundup-admin tool. Ask on the 
roundup-users mailing list if you're unsure how to proceed. 
msg3384 Author: [hidden] (jpend) Date: 2007-09-12 21:12
Checked in a change to CVS to perform more comprehensive email address validation in the userauditor. What's there should cover 99% of email addresses. 
History
Date User Action Args
2005-06-07 10:23:15larsecreate