* On 29 Feb 2012, Chris Burdess wrote: 
> 
> Regarding the rest, please bear in mind it's quite a long time since I
> developed in C. I grabbed the debugging symbols from the mutt-dbg deb and
> fired it up in gdb, and I get:
> 
> Reading symbols from /usr/bin/mutt...Reading symbols from 
> /usr/lib/debug/usr/bin/mutt-org...done.
> done.
> (gdb) break smtp_fill_account
> Function "smtp_fill_account" not defined.
> Make breakpoint pending on future shared library load? (y or [n]) n
> 
> I'm happy to test out various things if you can provide some step-by-step
> instructions?

Sure, I can try.  I failed to note that smtp_fill_account is static, so
you can't see it from global scope.  Perhaps try url_parse_ciss instead.

$ gdb mutt
(gdb) set args -e 'set 
smtp_url="smtps://[email protected]:[email protected]/"' [email protected]
(gdb) break url_parse_ciss
(gdb) run

Interact with mutt; send message and wait for break.  You should see
breakpoints, e.g.:
Breakpoint 1, url_parse_ciss (ciss=0xbfffc684, src=0x8276a48 
"smtps://[email protected]:[email protected]/") at url.c:172

You may need to enter "cont" a few times to skip past IMAP parses, which
don't interest us at present.  Only move on when "src" has a value
beginning with "smtps".

(gdb) finish
(gdb) print url
$2 = {scheme = U_SMTPS, user = 0x8276a50 "[email protected]", pass = 0x8276a61 
"mypassword", host = 0x8276a69 "smtp.gmail.com", port = 0, 
  path = 0x8276a78 ""}

This is what needs to be confirmed.  If that appears correctly then the
problem is elsewhere -- SASL, mutt's interaction with SASL, etc. -- and
not with URL parsing.

You might also run with debugging on (mutt -d3) and send the output in
~/.muttdebug0.  I don't think a password should appear there, but check
it to be sure.

-- 
David Champion • [email protected] • IT Services • University of Chicago

Reply via email to