# \[Feature:trunk\] improvement of sample in lib/imap.rb: password input

**URL:** <https://www.ruby-forum.com/t/feature-trunk-improvement-of-sample-in-lib-imap-rb-password-input/192371>\
**Category:** Development\
**Created:** [July 29, 2010, 5:18am UTC](https://www.ruby-forum.com/t/feature-trunk-improvement-of-sample-in-lib-imap-rb-password-input/192371 "2010-07-29T05:18:43Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![nobu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e9c0ed/32.png) [@nobu](https://www.ruby-forum.com/u/nobu)\
**Post date:** [July 29, 2010, 5:18am UTC](https://www.ruby-forum.com/t/feature-trunk-improvement-of-sample-in-lib-imap-rb-password-input/192371/1 "2010-07-29T05:18:43Z")

</div>

e$B$J$+$@$G$9!#e(B

lib/net/imap.rbe$B$rD\>@\<B9T$9$k$H;H$($k4J0We(BIMAPe$B%/%i%$%"%s%H$r!"%Qe(B  
e$B%9%o!\<%I$NF~NO$Ke(BIO#noechoe$B$r;H$&$h$&$K$7$F$\_$^$7$?!#$^$?!"\<B:]$Ke(B  
e$BI,MW$K$J$k$^$G%Q%9%o!\<%I$NF~NO$rCY$i$;$k$h$&$K$b$7$F$$$^$9!#e(B

# Index: lib/net/imap.rb

— lib/net/imap.rb (revision 28780)  
+++ lib/net/imap.rb (working copy)  
@@ -3485,12 +3485,27 @@  
end

- begin
- require ‘io/console’
- rescue LoadError
- def \_noecho(&block)
- 

```
 system("stty", "-echo")

```

- 

```
 begin

```

- 

```
   yield STDIN

```

- 

```
 ensure

```

- 

```
   system("stty", "echo")

```

- 

```
 end

```

- end
- else
- def \_noecho(&block)
- 

```
 STDIN.noecho(&block)

```

- end
- end
- def get\_password  
print "password: "

- system(“stty”, “-echo”)  
begin
- 

```
 return gets.chop

```

- 

```
 return _noecho(&:gets).chomp

```

ensure

- 

```
 system("stty", "echo")

```

- 

```
 print "\n"

```

- 

```
 puts

```

end  
end  
@@ -3543,5 +3558,7 @@  
imap = Net::IMAP.new($host, :port =\> $port, :ssl =\> $ssl)  
begin

- password = get\_password

- class \<\< password = method(:get\_password)
- 

```
 alias to_str call

```

- end  
imap.authenticate($auth, $user, password)  
while true

---

<div class="post-metadata">

**Author:** ![nobu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e9c0ed/32.png) [@nobu](https://www.ruby-forum.com/u/nobu)\
**Post date:** [July 29, 2010, 5:33am UTC](https://www.ruby-forum.com/t/feature-trunk-improvement-of-sample-in-lib-imap-rb-password-input/192371/2 "2010-07-29T05:33:57Z")

</div>

e$BA0ED$G$9!#e(B

2010e$BG/e(B7e$B7ne(B29e$BF|e(B12:17 Nobuyoshi N.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> lib/net/imap.rbe$B$rD\>@\<B9T$9$k$H;H$($k4J0We(BIMAPe$B%/%i%$%“%s%H$r!”%Qe(B  
> e$B%9%o!\<%I$NF~NO$Ke(BIO#noechoe$B$r;H$&$h$&$K$7$F$\_$^$7$?!#$^$?!"\<B:]$Ke(B  
> e$BI,MW$K$J$k$^$G%Q%9%o!\<%I$NF~NO$rCY$i$;$k$h$&$K$b$7$F$$$^$9!#e(B

e$B$"$j$,$H$&$4$6$$$^$9!#e(Bcommite$B$7$F$$$?$@$1$^$9$+e(B?

---

<div class="post-metadata">

**Author:** ![nobu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e9c0ed/32.png) [@nobu](https://www.ruby-forum.com/u/nobu)\
**Post date:** [July 30, 2010, 6:05am UTC](https://www.ruby-forum.com/t/feature-trunk-improvement-of-sample-in-lib-imap-rb-password-input/192371/3 "2010-07-30T06:05:03Z")

</div>

e$B%A%1%C%He(B #3626 e$B$,99?7$5$l$^$7$?!#e(B (by Nobuyoshi N.)

e$B%9%F!\<%?%9e(B Opene$B$+$ie(BClosede$B$KJQ99e(B  
e$B?JD=e(B % 0e$B$+$ie(B100e$B$KJQ99e(B

This issue was solved with changeset r28798.  
Nobuyoshi, thank you for reporting this issue.  
Your contribution to Ruby is greatly appreciated.  
May Ruby be with you.

* * *

[http://redmine.ruby-lang.org/issues/show/3626](http://redmine.ruby-lang.org/issues/show/3626)
