Error processing request

Parameters

CONTENT_LENGTH0
REQUEST_METHODGET
REQUEST_URI/revision/Email+Authentication+with+MIME?V=0
QUERY_STRINGV=0
CONTENT_TYPE
DOCUMENT_URI/revision/Email+Authentication+with+MIME
DOCUMENT_ROOT/var/www/nikit/nikit/nginx/../docroot
SCGI1
SERVER_PROTOCOLHTTP/1.1
HTTPSon
REMOTE_ADDR172.69.7.79
REMOTE_PORT62640
SERVER_PORT4443
SERVER_NAMEwiki.tcl-lang.org
HTTP_HOSTwiki.tcl-lang.org
HTTP_CONNECTIONKeep-Alive
HTTP_ACCEPT_ENCODINGgzip, br
HTTP_X_FORWARDED_FOR18.223.125.219
HTTP_CF_RAY87fa2892188b6189-ORD
HTTP_X_FORWARDED_PROTOhttps
HTTP_CF_VISITOR{"scheme":"https"}
HTTP_ACCEPT*/*
HTTP_USER_AGENTMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
HTTP_CF_CONNECTING_IP18.223.125.219
HTTP_CDN_LOOPcloudflare
HTTP_CF_IPCOUNTRYUS

Body


Error

Unknow state transition: LINE -> END

-code

1

-level

0

-errorstack

INNER {returnImm {Unknow state transition: LINE -> END} {}} CALL {my render_wikit {Email Authentication with MIME} '''Email\ Authentication\ with\ MIME'''\ ,\ by\ \[Jeff\ Gosnell\],\ provides\ a\ couple\ of\n\[proc%|%procedures\]\ that\ use\ \[Tcllib%|%Tcllib's\]\ \[Tcllib\ MIME\]\ package\ to\nauthenticate\ a\ user\ on\ a\ \[email\]\ server\ that\ requires\ authentication.\n\n\n''email_authentication.tcl''\n\n\[http://www.geocities.com/machtyn\]\n\n======\n\ #\ created\ by\ Jeff\ Gosnell\ for\ the\ tcl\ community\n\ #\ Tuesday,\ May\ 29,\ 2001\n\ #\n\ #\ a\ couple\ of\ simple\ procedures\ to\ authenticate\ a\ user\n\ #\ on\ a\ mailserver\ that\ requires\ authentication.\n\ #\n\ #\ Take\ care\ when\ using\ these\ procedures.\ \ They\ use\ the\ \n\ #\ global\ variable\ array\ user\n\ #\n\ #\ run\ the\ LogOn\ procedure\ to\ get\ a\ nice\ display.\n\ #\ LogOn\ will\ then\ run\ VrfyUser\ \n\ #\ Make\ sure\ the\ pathname\ is\ correct\ for\ your\ installation\n\ #\ of\ tcllib0.9's\ MIME\ package\n\ #\n\ #\ There\ is\ no\ visible\ result\ that\ the\ login\ was\ successful\n\ #\ except\ that\ the\ .logOn\ window\ will\ disappear.\n\ #\ When\ sending\ an\ email\ (in\ another\ procedure),\ \n\ #\ use\ \$user(nameMIME)\ and\ \$user(pwMIME)\ to\ authenticate.\n\ #\n\n\ proc\ LogOn\ \{\}\ \{\n\ \ \ \ \ \ \ \ \n\ \ \ \ \ \ \ \ set\ w\ \[toplevel\ .logOn\]\n\ \ \ \ \ \ \ \ wm\ geometry\ \$w\ 175x140+100+100\n\ \ \ \ \ \ \ \ wm\ title\ \$w\ \"Log\ On\ Information\"\n\ \ \ \ \ \ \ \ \n\ \ \ \ \ \ \ \ set\ sw\ \[frame\ \$w.name\]\n\ \ \ \ \ \ \ \ label\ \$sw.lbl\ -text\ \"Username:\ \"\n\ \ \ \ \ \ \ \ entry\ \$sw.ent\ -width\ 15\ -textvariable\ user(name)\n\ \ \ \ \ \ \ \ pack\ \$sw.lbl\ \$sw.ent\ -side\ left\ -padx\ 2\ -expand\ true\n\ \ \ \ \ \ \ \ \n\ \ \ \ \ \ \ \ set\ sw\ \[frame\ \$w.pw\]\n\ \ \ \ \ \ \ \ label\ \$sw.lbl\ -text\ \"Password:\ \"\n\ \ \ \ \ \ \ \ entry\ \$sw.ent\ -width\ 15\ -textvariable\ user(pw)\ -show\ *\n\ \ \ \ \ \ \ \ pack\ \$sw.lbl\ \$sw.ent\ -side\ left\ -padx\ 2\ -expand\ true\n\n\ \ \ \ \ \ \ \ set\ sw\ \[frame\ \$w.server\]\n\ \ \ \ \ \ \ \ label\ \$sw.lbl\ -text\ \"Mail\ Server:\"\n\ \ \ \ \ \ \ \ entry\ \$sw.ent\ -width\ 15\ -textvariable\ user(mailserver)\n\ \ \ \ \ \ \ \ pack\ \$sw.lbl\ \$sw.ent\ -side\ left\ -padx\ 2\ -expand\ true\n\n\ \ \ \ \ \ \ \ set\ sw\ \[frame\ \$w.buttons\]\n\ \ \ \ \ \ \ \ button\ \$sw.ok\ -text\ Ok\ -command\ \{VrfyUser\ .logOn\}\ -width\ 8\n\ \ \ \ \ \ \ \ button\ \$sw.cancel\ -text\ Cancel\ -command\ \{destroy\ .logOn\;\ array\ unset\ user\;\ return\ Cancelled\}\ -width\ 8\n\ \ \ \ \ \ \ \ pack\ \$sw.ok\ \$sw.cancel\ -side\ left\ -padx\ 5\ -expand\ true\n\n\ \ \ \ \ \ \ \ pack\ \$w.name\ \$w.pw\ \$w.server\ \$w.buttons\ -side\ top\ -pady\ 2\ -expand\ true\ -fill\ both\n\n\ \ \ \ \ \ \ \ bind\ \$w\ <Return>\ \{.logOn.buttons.ok\ invoke\}\n\n\ \}\ \;#\ end\ proc\ LogOn\n\n\n\ ##########################################\n\ #\ \ \ \ \ \ \ \ \ \ \ \ proc\ VrfyUser\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ #\n\ #\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ #\n\ #\ This\ procedure\ is\ designed\ to\ verify\ \ \ #\n\ #\ the\ username\ and\ password\ for\ \ \ \ \ \ \ \ \ \ #\n\ #\ authenticating\ the\ user\ for\ emailing.\ \ #\n\ #\ It\ will\ notify\ the\ user\ if\ it\ fails.\ \ \ #\n\ #\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ #\n\ #\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ #\n\ ##########################################\n\ proc\ VrfyUser\ \{w\}\ \{\n\n\ \ \ \ \ \ \ \ global\ user\n\n\ \ \ \ \ \ \ \ source\ \"/program\ files/tcl/tcllib0.8/mime/mime.tcl\"\n\ \ \ \ \ \ \ \ source\ \"/program\ files/tcl/tcllib0.8/mime/smtp.tcl\"\n\ \ \ \ \ \ \ \ package\ provide\ mime\ 1.2\n\ \ \ \ \ \ \ \ package\ provide\ smtp\ 1.2\n\n\ #\ display\ a\ toplevel\ showing\ the\ system\ logging\ in.\n\ \ \ \ \ \ \ \ toplevel\ \$w.working\ -width\ 200\ -height\ 100\ -bg\ #ff3d3d\n\ \ \ \ \ \ \ \ wm\ overrideredirect\ \$w.working\ 1\n\ \ \ \ \ \ \ \ wm\ geometry\ \$w.working\ +150+150\n\ \ \ \ \ \ \ \ pack\ \[frame\ \$w.working.frame\ -bd\ 2\ -relief\ raised\ -width\ 200\ -height\ 100\]\ -ipadx\ 1\ -ipady\ 1\n\ \ \ \ \ \ \ \ pack\ \[label\ \$w.working.frame.lbl\ -bg\ #ff3d3d\ -relief\ sunken\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -text\ \"Logging\ \$user(name)\ on\ the\ system.\"\ \n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \]\ -fill\ both\n\ \ \ \ \ \ \ \ update\n\n\ #\ convert\ the\ username\ to\ mime\ format\n\ \ \ \ \ \ \ \ set\ t_name\ \[mime::initialize\ -canonical\ text/octet-stream\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -encoding\ base64\ -string\ \$user(name)\]\n\ \ \ \ \ \ \ \ set\ user(nameMIME)\ \[lindex\ \[mime::buildmessage\ \$t_name\]\ end\]\n\ \ \ \ \ \ \ \ mime::finalize\ \$t_name\ -subordinates\ all\n\n\ #\ convert\ the\ password\ to\ mime\ format\n\ \ \ set\ t_pw\ \ \ \[mime::initialize\ -canonical\ text/octet-stream\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -encoding\ base64\ -string\ \$user(pw)\]\n\ \ \ \ \ \ \ \ set\ user(pwMIME)\ \[lindex\ \[mime::buildmessage\ \$t_pw\]\ end\]\n\ \ \ \ \ \ \ \ mime::finalize\ \$t_pw\ -subordinates\ all\n\n\ #\ log\ on\ to\ the\ server\n\ \ \ \ \ \ \ \ set\ sid\ \[socket\ \$user(mailserver)\ 25\]\n\ #\ if\ the\ server\ doesn't\ return\ 220\ it\ failed\n\ \ \ \ \ \ \ \ if\ \{\[lindex\ \[gets\ \$sid\]\ 0\]\ !=\ 220\}\ \{\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.msg\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pack\ \[label\ \$w.msg\ -text\ \"Error\ logging\ in:\ \ \\nFailed\ to\ connect\ to\ server\"\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -font\ \{-family\ Arial\ -size\ 10\}\ -justify\ left\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \]\ -side\ bottom\ -pady\ 2\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.working\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ focus\ \$w\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\n\ \ \ \ \ \ \ \ \}\n\n\ #\ log\ on\ user\n\ \ \ \ \ \ \ \ #Note\ the\ 'HELO'\ parameter\ is\ not\ actually\ a\ username.\n\ \ \ \ \ \ \ \ #It\ is\ generally\ supposed\ to\ be\ the\ client\ machines\ Hostname\ or\ IP\ address.\n\ \ \ \ \ \ \ \ #\ Some\ SMTP\ servers\ are\ fussier\ than\ others\ as\ to\ what\ they\ will\ accept\ here.\n\ \ \ \ \ \ \ \ #\ If\ the\ server\ is\ a\ 'Mail\ Submission\ Agent'\ for\ end-users\ it\ will\ probably\ accept\ almost\ anything.\n\ \ \ \ \ \ \ \ puts\ \$sid\ \"HELO\ \$user(name)\"\n\ \ \ \ \ \ \ \ flush\ \$sid\n\ \ \ \ \ \ \ \ if\ \{\[lindex\ \[gets\ \$sid\]\ 0\]\ !=\ 250\}\ \{\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.msg\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pack\ \[label\ \$w.msg\ -text\ \"Error\ during\ HELO\ greeting:\ \ \\nHelo\ not\ accepted\ by\ server\"\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -font\ \{-family\ Arial\ -size\ 10\}\ -justify\ left\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \]\ -side\ bottom\ -pady\ 2\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.working\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ focus\ \$w\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\n\ \ \ \ \ \ \ \ \}\n\n\ #\ attempt\ authentication\n\ \ \ \ \ \ \ \ puts\ \$sid\ \"AUTH\ LOGIN\"\n\ \ \ \ \ \ \ \ flush\ \$sid\n\ \ \ \ \ \ \ \ if\ \{\[lindex\ \[gets\ \$sid\]\ 0\]\ !=\ 334\}\ \{\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.msg\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pack\ \[label\ \$w.msg\ -text\ \"Error\ logging\ in:\ \ \\nFailed\ to\ initiate\ authorization\"\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -font\ \{-family\ Arial\ -size\ 10\}\ -justify\ left\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \]\ -side\ bottom\ -pady\ 2\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.working\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ focus\ \$w\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\n\ \ \ \ \ \ \ \ \}\n\n\ #\ Username:\n\ \ \ \ \ \ \ \ puts\ \$sid\ \$user(nameMIME)\n\ \ \ \ \ \ \ \ flush\ \$sid\n\ \ \ \ \ \ \ \ if\ \{\[lindex\ \[gets\ \$sid\]\ 0\]\ !=\ 334\}\ \{\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.msg\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pack\ \[label\ \$w.msg\ -text\ \"Error\ logging\ in:\ \ \\nInvalid\ username\ or\ password\"\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -font\ \{-family\ Arial\ -size\ 10\}\ -justify\ left\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \]\ -side\ bottom\ -pady\ 2\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.working\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ focus\ \$w\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\n\ \ \ \ \ \ \ \ \}\n\n\ #\ Password:\n\ \ \ \ \ \ \ \ puts\ \$sid\ \$user(pwMIME)\n\ \ \ \ \ \ \ \ flush\ \$sid\n\ \ \ \ \ \ \ \ if\ \{\[lindex\ \[gets\ \$sid\]\ 0\]\ !=\ 235\}\ \{\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.msg\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pack\ \[label\ \$w.msg\ -text\ \"Error\ logging\ in:\ \ \\nInvalid\ username\ or\ password\"\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -font\ \{-family\ Arial\ -size\ 10\}\ -justify\ left\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \]\ -side\ bottom\ -pady\ 2\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.working\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ focus\ \$w\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\n\ \ \ \ \ \ \ \ \}\n\n\ \ \ \ \ \ \ \ close\ \$sid\n\n\ \ \ \ \ \ \ \ destroy\ \$w\n\n\ \ \ \ \ \ \ \ return\ \"Log\ on\ successful\"\n\n\ \}\ \;#\ end\ proc\ VrfyUser\n\n\n\n<<categories>>\ email\ |\ MIME regexp2} CALL {my render {Email Authentication with MIME} '''Email\ Authentication\ with\ MIME'''\ ,\ by\ \[Jeff\ Gosnell\],\ provides\ a\ couple\ of\n\[proc%|%procedures\]\ that\ use\ \[Tcllib%|%Tcllib's\]\ \[Tcllib\ MIME\]\ package\ to\nauthenticate\ a\ user\ on\ a\ \[email\]\ server\ that\ requires\ authentication.\n\n\n''email_authentication.tcl''\n\n\[http://www.geocities.com/machtyn\]\n\n======\n\ #\ created\ by\ Jeff\ Gosnell\ for\ the\ tcl\ community\n\ #\ Tuesday,\ May\ 29,\ 2001\n\ #\n\ #\ a\ couple\ of\ simple\ procedures\ to\ authenticate\ a\ user\n\ #\ on\ a\ mailserver\ that\ requires\ authentication.\n\ #\n\ #\ Take\ care\ when\ using\ these\ procedures.\ \ They\ use\ the\ \n\ #\ global\ variable\ array\ user\n\ #\n\ #\ run\ the\ LogOn\ procedure\ to\ get\ a\ nice\ display.\n\ #\ LogOn\ will\ then\ run\ VrfyUser\ \n\ #\ Make\ sure\ the\ pathname\ is\ correct\ for\ your\ installation\n\ #\ of\ tcllib0.9's\ MIME\ package\n\ #\n\ #\ There\ is\ no\ visible\ result\ that\ the\ login\ was\ successful\n\ #\ except\ that\ the\ .logOn\ window\ will\ disappear.\n\ #\ When\ sending\ an\ email\ (in\ another\ procedure),\ \n\ #\ use\ \$user(nameMIME)\ and\ \$user(pwMIME)\ to\ authenticate.\n\ #\n\n\ proc\ LogOn\ \{\}\ \{\n\ \ \ \ \ \ \ \ \n\ \ \ \ \ \ \ \ set\ w\ \[toplevel\ .logOn\]\n\ \ \ \ \ \ \ \ wm\ geometry\ \$w\ 175x140+100+100\n\ \ \ \ \ \ \ \ wm\ title\ \$w\ \"Log\ On\ Information\"\n\ \ \ \ \ \ \ \ \n\ \ \ \ \ \ \ \ set\ sw\ \[frame\ \$w.name\]\n\ \ \ \ \ \ \ \ label\ \$sw.lbl\ -text\ \"Username:\ \"\n\ \ \ \ \ \ \ \ entry\ \$sw.ent\ -width\ 15\ -textvariable\ user(name)\n\ \ \ \ \ \ \ \ pack\ \$sw.lbl\ \$sw.ent\ -side\ left\ -padx\ 2\ -expand\ true\n\ \ \ \ \ \ \ \ \n\ \ \ \ \ \ \ \ set\ sw\ \[frame\ \$w.pw\]\n\ \ \ \ \ \ \ \ label\ \$sw.lbl\ -text\ \"Password:\ \"\n\ \ \ \ \ \ \ \ entry\ \$sw.ent\ -width\ 15\ -textvariable\ user(pw)\ -show\ *\n\ \ \ \ \ \ \ \ pack\ \$sw.lbl\ \$sw.ent\ -side\ left\ -padx\ 2\ -expand\ true\n\n\ \ \ \ \ \ \ \ set\ sw\ \[frame\ \$w.server\]\n\ \ \ \ \ \ \ \ label\ \$sw.lbl\ -text\ \"Mail\ Server:\"\n\ \ \ \ \ \ \ \ entry\ \$sw.ent\ -width\ 15\ -textvariable\ user(mailserver)\n\ \ \ \ \ \ \ \ pack\ \$sw.lbl\ \$sw.ent\ -side\ left\ -padx\ 2\ -expand\ true\n\n\ \ \ \ \ \ \ \ set\ sw\ \[frame\ \$w.buttons\]\n\ \ \ \ \ \ \ \ button\ \$sw.ok\ -text\ Ok\ -command\ \{VrfyUser\ .logOn\}\ -width\ 8\n\ \ \ \ \ \ \ \ button\ \$sw.cancel\ -text\ Cancel\ -command\ \{destroy\ .logOn\;\ array\ unset\ user\;\ return\ Cancelled\}\ -width\ 8\n\ \ \ \ \ \ \ \ pack\ \$sw.ok\ \$sw.cancel\ -side\ left\ -padx\ 5\ -expand\ true\n\n\ \ \ \ \ \ \ \ pack\ \$w.name\ \$w.pw\ \$w.server\ \$w.buttons\ -side\ top\ -pady\ 2\ -expand\ true\ -fill\ both\n\n\ \ \ \ \ \ \ \ bind\ \$w\ <Return>\ \{.logOn.buttons.ok\ invoke\}\n\n\ \}\ \;#\ end\ proc\ LogOn\n\n\n\ ##########################################\n\ #\ \ \ \ \ \ \ \ \ \ \ \ proc\ VrfyUser\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ #\n\ #\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ #\n\ #\ This\ procedure\ is\ designed\ to\ verify\ \ \ #\n\ #\ the\ username\ and\ password\ for\ \ \ \ \ \ \ \ \ \ #\n\ #\ authenticating\ the\ user\ for\ emailing.\ \ #\n\ #\ It\ will\ notify\ the\ user\ if\ it\ fails.\ \ \ #\n\ #\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ #\n\ #\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ #\n\ ##########################################\n\ proc\ VrfyUser\ \{w\}\ \{\n\n\ \ \ \ \ \ \ \ global\ user\n\n\ \ \ \ \ \ \ \ source\ \"/program\ files/tcl/tcllib0.8/mime/mime.tcl\"\n\ \ \ \ \ \ \ \ source\ \"/program\ files/tcl/tcllib0.8/mime/smtp.tcl\"\n\ \ \ \ \ \ \ \ package\ provide\ mime\ 1.2\n\ \ \ \ \ \ \ \ package\ provide\ smtp\ 1.2\n\n\ #\ display\ a\ toplevel\ showing\ the\ system\ logging\ in.\n\ \ \ \ \ \ \ \ toplevel\ \$w.working\ -width\ 200\ -height\ 100\ -bg\ #ff3d3d\n\ \ \ \ \ \ \ \ wm\ overrideredirect\ \$w.working\ 1\n\ \ \ \ \ \ \ \ wm\ geometry\ \$w.working\ +150+150\n\ \ \ \ \ \ \ \ pack\ \[frame\ \$w.working.frame\ -bd\ 2\ -relief\ raised\ -width\ 200\ -height\ 100\]\ -ipadx\ 1\ -ipady\ 1\n\ \ \ \ \ \ \ \ pack\ \[label\ \$w.working.frame.lbl\ -bg\ #ff3d3d\ -relief\ sunken\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -text\ \"Logging\ \$user(name)\ on\ the\ system.\"\ \n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \]\ -fill\ both\n\ \ \ \ \ \ \ \ update\n\n\ #\ convert\ the\ username\ to\ mime\ format\n\ \ \ \ \ \ \ \ set\ t_name\ \[mime::initialize\ -canonical\ text/octet-stream\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -encoding\ base64\ -string\ \$user(name)\]\n\ \ \ \ \ \ \ \ set\ user(nameMIME)\ \[lindex\ \[mime::buildmessage\ \$t_name\]\ end\]\n\ \ \ \ \ \ \ \ mime::finalize\ \$t_name\ -subordinates\ all\n\n\ #\ convert\ the\ password\ to\ mime\ format\n\ \ \ set\ t_pw\ \ \ \[mime::initialize\ -canonical\ text/octet-stream\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -encoding\ base64\ -string\ \$user(pw)\]\n\ \ \ \ \ \ \ \ set\ user(pwMIME)\ \[lindex\ \[mime::buildmessage\ \$t_pw\]\ end\]\n\ \ \ \ \ \ \ \ mime::finalize\ \$t_pw\ -subordinates\ all\n\n\ #\ log\ on\ to\ the\ server\n\ \ \ \ \ \ \ \ set\ sid\ \[socket\ \$user(mailserver)\ 25\]\n\ #\ if\ the\ server\ doesn't\ return\ 220\ it\ failed\n\ \ \ \ \ \ \ \ if\ \{\[lindex\ \[gets\ \$sid\]\ 0\]\ !=\ 220\}\ \{\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.msg\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pack\ \[label\ \$w.msg\ -text\ \"Error\ logging\ in:\ \ \\nFailed\ to\ connect\ to\ server\"\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -font\ \{-family\ Arial\ -size\ 10\}\ -justify\ left\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \]\ -side\ bottom\ -pady\ 2\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.working\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ focus\ \$w\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\n\ \ \ \ \ \ \ \ \}\n\n\ #\ log\ on\ user\n\ \ \ \ \ \ \ \ #Note\ the\ 'HELO'\ parameter\ is\ not\ actually\ a\ username.\n\ \ \ \ \ \ \ \ #It\ is\ generally\ supposed\ to\ be\ the\ client\ machines\ Hostname\ or\ IP\ address.\n\ \ \ \ \ \ \ \ #\ Some\ SMTP\ servers\ are\ fussier\ than\ others\ as\ to\ what\ they\ will\ accept\ here.\n\ \ \ \ \ \ \ \ #\ If\ the\ server\ is\ a\ 'Mail\ Submission\ Agent'\ for\ end-users\ it\ will\ probably\ accept\ almost\ anything.\n\ \ \ \ \ \ \ \ puts\ \$sid\ \"HELO\ \$user(name)\"\n\ \ \ \ \ \ \ \ flush\ \$sid\n\ \ \ \ \ \ \ \ if\ \{\[lindex\ \[gets\ \$sid\]\ 0\]\ !=\ 250\}\ \{\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.msg\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pack\ \[label\ \$w.msg\ -text\ \"Error\ during\ HELO\ greeting:\ \ \\nHelo\ not\ accepted\ by\ server\"\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -font\ \{-family\ Arial\ -size\ 10\}\ -justify\ left\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \]\ -side\ bottom\ -pady\ 2\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.working\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ focus\ \$w\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\n\ \ \ \ \ \ \ \ \}\n\n\ #\ attempt\ authentication\n\ \ \ \ \ \ \ \ puts\ \$sid\ \"AUTH\ LOGIN\"\n\ \ \ \ \ \ \ \ flush\ \$sid\n\ \ \ \ \ \ \ \ if\ \{\[lindex\ \[gets\ \$sid\]\ 0\]\ !=\ 334\}\ \{\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.msg\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pack\ \[label\ \$w.msg\ -text\ \"Error\ logging\ in:\ \ \\nFailed\ to\ initiate\ authorization\"\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -font\ \{-family\ Arial\ -size\ 10\}\ -justify\ left\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \]\ -side\ bottom\ -pady\ 2\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.working\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ focus\ \$w\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\n\ \ \ \ \ \ \ \ \}\n\n\ #\ Username:\n\ \ \ \ \ \ \ \ puts\ \$sid\ \$user(nameMIME)\n\ \ \ \ \ \ \ \ flush\ \$sid\n\ \ \ \ \ \ \ \ if\ \{\[lindex\ \[gets\ \$sid\]\ 0\]\ !=\ 334\}\ \{\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.msg\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pack\ \[label\ \$w.msg\ -text\ \"Error\ logging\ in:\ \ \\nInvalid\ username\ or\ password\"\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -font\ \{-family\ Arial\ -size\ 10\}\ -justify\ left\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \]\ -side\ bottom\ -pady\ 2\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.working\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ focus\ \$w\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\n\ \ \ \ \ \ \ \ \}\n\n\ #\ Password:\n\ \ \ \ \ \ \ \ puts\ \$sid\ \$user(pwMIME)\n\ \ \ \ \ \ \ \ flush\ \$sid\n\ \ \ \ \ \ \ \ if\ \{\[lindex\ \[gets\ \$sid\]\ 0\]\ !=\ 235\}\ \{\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.msg\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ pack\ \[label\ \$w.msg\ -text\ \"Error\ logging\ in:\ \ \\nInvalid\ username\ or\ password\"\ \\\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ -font\ \{-family\ Arial\ -size\ 10\}\ -justify\ left\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \]\ -side\ bottom\ -pady\ 2\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ catch\ \{destroy\ \$w.working\}\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ focus\ \$w\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\n\ \ \ \ \ \ \ \ \}\n\n\ \ \ \ \ \ \ \ close\ \$sid\n\n\ \ \ \ \ \ \ \ destroy\ \$w\n\n\ \ \ \ \ \ \ \ return\ \"Log\ on\ successful\"\n\n\ \}\ \;#\ end\ proc\ VrfyUser\n\n\n\n<<categories>>\ email\ |\ MIME} CALL {my revision {Email Authentication with MIME}} CALL {::oo::Obj6913426 process revision/Email+Authentication+with+MIME} CALL {::oo::Obj6913424 process}

-errorcode

NONE

-errorinfo

Unknow state transition: LINE -> END
    while executing
"error $msg"
    (class "::Wiki" method "render_wikit" line 6)
    invoked from within
"my render_$default_markup $N $C $mkup_rendering_engine"
    (class "::Wiki" method "render" line 8)
    invoked from within
"my render $name $C"
    (class "::Wiki" method "revision" line 31)
    invoked from within
"my revision $page"
    (class "::Wiki" method "process" line 56)
    invoked from within
"$server process [string trim $uri /]"

-errorline

4