Re: [TESTERS needed] New POSIX permission handling

2015-04-17 Thread Corinna Vinschen
Hi Ismail,

On Apr 16 09:48, Ismail Donmez wrote:
 Corinna Vinschen-2 wrote
  On Apr 16 09:09, Ismail Donmez wrote:
  [~/src/mutt] chmod +x config.status
  chmod: changing permissions of ‘config.status’: Permission denied

This is really surprising.

 [~/src/mutt] icacls config.status
 config.status NULL SID:(DENY)(Rc,S,REA,X,DC)
   UX31A\ismail:(F)
   UX31A\ismail:(RX)
   NT AUTHORITY\SYSTEM:(RX,W,DC)
   BUILTIN\Administrators:(RX,W,DC)
   Everyone:(RX)
 
 Successfully processed 1 files; Failed processing 0 files
 
 [~/src/mutt] icacls .
 . NULL SID:(DENY)(Rc,S,REA,X,DC)
   UX31A\ismail:(F)
   UX31A\ismail:(RX)
   NT AUTHORITY\SYSTEM:(RX,W,DC)
   BUILTIN\Administrators:(RX,W,DC)
   Everyone:(RX)
   NULL SID:(OI)(CI)(IO)(DENY)(Rc,S,REA,X,DC)
   CREATOR OWNER:(OI)(CI)(IO)(F)
   CREATOR GROUP:(OI)(CI)(IO)(RX)
   NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(RX,W,DC)
   BUILTIN\Administrators:(OI)(CI)(IO)(RX,W,DC)
   Everyone:(OI)(CI)(IO)(RX)

I created the exact same scenario with the exact same ACLs, just with my
own account as user and group, and I can't reproduce a Permission
denied.  chmod simply works for me.  Weird.

While looking into this I found some other problems in this owner==group
scenario, so I applied a few patches.  I'm just creating new developer
snapshots and a 2.0.0-0.6 test release.

It would be nice if you could update, test again, and if the problem
still occurs, I think I'll need an strace of the above chmod call as
in:

  $ strace -o chmod.trace chmod +x config.status

This combined with the icacls of the ACLs of config.status and the
parent dir, just to be sure the new Cygwin created the same ACLs.


Thanks in advance,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpYraRDSUoPl.pgp
Description: PGP signature


Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-5

2015-04-17 Thread Corinna Vinschen
On Apr 16 14:14, Ian Lambert wrote:
 
 
   It might be
  interesting to check the files.  Don't delete
   them, they may come in handy for
  forensics.  If you don't mind and they
   don;t contain anything too private, you
  might even just copy them here.
  
  I can post the good and bad ones
  tomorrow.
  
 
 Similar problem today. Previous 2.0.0-0.x worked OK, and going back to 
 1.7.35-1 works OK.
 
 No admin rights. No passwd or group files. nsswitch.conf all commented out. 
 Some excerpts follow.

Try the -0.6 I'm just uploading.  This should work again since
it checks the PSIDs for NULL before calling this crashing OS function.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpvBE1ZhGYCg.pgp
Description: PGP signature


[newlib-cygwin] Fix broken PSID problem on cygheap in account handling

2015-04-17 Thread Corinna Vinschen
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=ecc6cfeb7e6d6bb1be8cca563d22c6f8c2c6add1

commit ecc6cfeb7e6d6bb1be8cca563d22c6f8c2c6add1
Author: Corinna Vinschen cori...@vinschen.de
Date:   Fri Apr 17 11:56:15 2015 +0200

Fix broken PSID problem on cygheap in account handling

* pwdgrp.h: Add comment to explain below change.
(struct pg_pwd): Convert sid member to BYTE array.
(struct pg_grp): Ditto.
* grp.cc (pwdgrp::parse_group): Accommodate above change.
* passwd.cc (pwdgrp::parse_passwd): Ditto.

Signed-off-by: Corinna Vinschen cori...@vinschen.de

Diff:
---
 winsup/cygwin/ChangeLog | 8 
 winsup/cygwin/grp.cc| 4 +++-
 winsup/cygwin/passwd.cc | 4 +++-
 winsup/cygwin/pwdgrp.h  | 8 ++--
 4 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 2ecafa0..a340261 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,11 @@
+2015-04-17  Corinna Vinschen  cori...@vinschen.de
+
+   * pwdgrp.h: Add comment to explain below change.
+   (struct pg_pwd): Convert sid member to BYTE array.
+   (struct pg_grp): Ditto.
+   * grp.cc (pwdgrp::parse_group): Accommodate above change.
+   * passwd.cc (pwdgrp::parse_passwd): Ditto.
+
 2015-04-16  Corinna Vinschen  cori...@vinschen.de
 
* sec_acl.cc (set_posix_access): Move merging group perms into owner
diff --git a/winsup/cygwin/grp.cc b/winsup/cygwin/grp.cc
index 40e1ca7..f850210 100644
--- a/winsup/cygwin/grp.cc
+++ b/winsup/cygwin/grp.cc
@@ -47,7 +47,9 @@ pwdgrp::parse_group ()
 return false;
   /* Don't generate gr_mem entries. */
   grp.g.gr_mem = null_ptr;
-  grp.sid.getfromgr_passwd (grp.g);
+  cygsid csid;
+  csid.getfromgr_passwd (grp.g);
+  RtlCopySid (SECURITY_MAX_SID_SIZE, grp.sid, csid);
   return true;
 }
 
diff --git a/winsup/cygwin/passwd.cc b/winsup/cygwin/passwd.cc
index 7493aa4..54e429c 100644
--- a/winsup/cygwin/passwd.cc
+++ b/winsup/cygwin/passwd.cc
@@ -40,7 +40,9 @@ pwdgrp::parse_passwd ()
   res.p.pw_gecos = next_str (':');
   res.p.pw_dir =  next_str (':');
   res.p.pw_shell = next_str (':');
-  res.sid.getfrompw_gecos (res.p);
+  cygsid csid;
+  csid.getfrompw_gecos (res.p);
+  RtlCopySid (SECURITY_MAX_SID_SIZE, res.sid, csid);
   /* lptr points to the \0 after pw_shell.  Increment by one to get the correct
  required buffer len in getpw_cp. */
   res.len = lptr - res.p.pw_name + 1;
diff --git a/winsup/cygwin/pwdgrp.h b/winsup/cygwin/pwdgrp.h
index a64cb0f..80c54c7 100644
--- a/winsup/cygwin/pwdgrp.h
+++ b/winsup/cygwin/pwdgrp.h
@@ -38,17 +38,21 @@ void *setgrent_filtered (int enums, PCWSTR enum_tdoms);
 void *getgrent_filtered (void *gr);
 void endgrent_filtered (void *gr);
 
+/* NOTE: The below sid members were cygsid's originally.  Don't do that.
+   cygsid's are pointer based.  When adding new entries to the passwd or
+   group caches, a crealloc call potenitally moves the entries and then
+   the cygsid pointers point into neverneverland. */
 struct pg_pwd
 {
   struct passwd p;
-  cygsid sid;
+  BYTE sid[SECURITY_MAX_SID_SIZE];
   size_t len;
 };
 
 struct pg_grp
 {
   struct group g;
-  cygsid sid;
+  BYTE sid[SECURITY_MAX_SID_SIZE];
   size_t len;
 };


[newlib-cygwin] Fix broken SID in passwd/group entry for unkown account

2015-04-17 Thread Corinna Vinschen
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=027506709a0a821cdaa9a6ff0f07fb300dad

commit 027506709a0a821cdaa9a6ff0f07fb300dad
Author: Corinna Vinschen cori...@vinschen.de
Date:   Fri Apr 17 11:57:57 2015 +0200

Fix broken SID in passwd/group entry for unkown account

* uinfo.cc (pwdgrp::fetch_account_from_windows): Always revert SID
subauth count after checking for known domain.

Signed-off-by: Corinna Vinschen cori...@vinschen.de

Diff:
---
 winsup/cygwin/ChangeLog | 5 +
 winsup/cygwin/uinfo.cc  | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index a340261..fb66f39 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
 2015-04-17  Corinna Vinschen  cori...@vinschen.de
 
+   * uinfo.cc (pwdgrp::fetch_account_from_windows): Always revert SID
+   subauth count after checking for known domain.
+
+2015-04-17  Corinna Vinschen  cori...@vinschen.de
+
* pwdgrp.h: Add comment to explain below change.
(struct pg_pwd): Convert sid member to BYTE array.
(struct pg_grp): Ditto.
diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc
index 6186327..bc5f814 100644
--- a/winsup/cygwin/uinfo.cc
+++ b/winsup/cygwin/uinfo.cc
@@ -2475,10 +2475,10 @@ pwdgrp::fetch_account_from_windows (fetch_user_arg_t 
arg, cyg_ldap *pldap)
  posix_offset = fetch_posix_offset (td, loc_ldap);
  break;
}
+ sid_sub_auth_count (sid) = sid_sub_auth_count (sid) + 1;
}
   if (domain)
{
- sid_sub_auth_count (sid) = sid_sub_auth_count (sid) + 1;
  wcscpy (dom, domain);
  __small_swprintf (name = namebuf, L%W(%u),
is_group () ? LGroup : LUser,


Re: [TESTERS needed] New POSIX permission handling

2015-04-17 Thread Corinna Vinschen
On Apr 17 09:30, Corinna Vinschen wrote:
 Hi Ismail,
 
 On Apr 16 09:48, Ismail Donmez wrote:
  Corinna Vinschen-2 wrote
   On Apr 16 09:09, Ismail Donmez wrote:
   [~/src/mutt] chmod +x config.status
   chmod: changing permissions of ‘config.status’: Permission denied
 
 This is really surprising.
 
  [~/src/mutt] icacls config.status
  config.status NULL SID:(DENY)(Rc,S,REA,X,DC)
UX31A\ismail:(F)
UX31A\ismail:(RX)
NT AUTHORITY\SYSTEM:(RX,W,DC)
BUILTIN\Administrators:(RX,W,DC)
Everyone:(RX)
  
  Successfully processed 1 files; Failed processing 0 files
  
  [~/src/mutt] icacls .
  . NULL SID:(DENY)(Rc,S,REA,X,DC)
UX31A\ismail:(F)
UX31A\ismail:(RX)
NT AUTHORITY\SYSTEM:(RX,W,DC)
BUILTIN\Administrators:(RX,W,DC)
Everyone:(RX)
NULL SID:(OI)(CI)(IO)(DENY)(Rc,S,REA,X,DC)
CREATOR OWNER:(OI)(CI)(IO)(F)
CREATOR GROUP:(OI)(CI)(IO)(RX)
NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(RX,W,DC)
BUILTIN\Administrators:(OI)(CI)(IO)(RX,W,DC)
Everyone:(OI)(CI)(IO)(RX)
 
 I created the exact same scenario with the exact same ACLs, just with my
 own account as user and group, and I can't reproduce a Permission
 denied.  chmod simply works for me.  Weird.
 
 While looking into this I found some other problems in this owner==group
 scenario, so I applied a few patches.  I'm just creating new developer
 snapshots and a 2.0.0-0.6 test release.
 
 It would be nice if you could update, test again, and if the problem
 still occurs, I think I'll need an strace of the above chmod call as
 in:
 
   $ strace -o chmod.trace chmod +x config.status
 
 This combined with the icacls of the ACLs of config.status and the
 parent dir, just to be sure the new Cygwin created the same ACLs.

I think I found the culprit.  I'll uploade a -0.7 test release in
the next hour or so.


Thanks for testing,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpgSkwvT2e5G.pgp
Description: PGP signature


Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-5

2015-04-17 Thread Corinna Vinschen
On Apr 16 21:49, Denis Excoffier wrote:
 On 2015-04-16 à 18:43, Corinna Vinschen wrote:
  On Apr 16 18:21, Corinna Vinschen wrote:
  On Apr 16 08:17, Jim Reisert AD1C wrote:
  I am unable to start Cywin/X X-server 1.17.1 with this version.
  Previous releases of 2.0.0.x were OK.  I had to revert to 1.7.35-1 for
  the time being.
  
  Other than updating to 2.0.0.5, I also installed the April 2015 Patch
  Tuesday updates from Microsoft.  I don't know if the two are related.
   Windows 7 Home Premium, 64-bit
  
  Exception: STATUS_ACCESS_VIOLATION at eip=77C50F8A
  eax= ebx=612D67B0 ecx=1000 edx=612D2648 esi= 
  edi=0028C790
  ebp=0028C608 esp=0028C604 program=C:\Cygwin\bin\XWin.exe, pid 1660, 
  thread main
  cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
  Stack trace:
  Frame Function  Args
  0028C608  77C50F8A (, 612D2648, , 612D67B0)
  0028C738  610CDA1F (43FF, , , 80012428)
  
  On second thought, if I can trust the args output, that would be an
  fchmod(0,0).  If there's no uid or gid 0, which there isn't unless you
  explicitely created them in the passwd/group files, the uid and gid have
  no SID connected to.  This may be the culprit here.
  
  I could add an extra check which refuses to change permissions if
  the account's SID can't be found, but since this occurs very deep
  in the call stack, the error message might be pretty vapid.
  
  Alternatively I just let this slip through and you might wonder
  why the group hasn't changed in this case.
  
  I added a change to this effect, but it occuurs to me that this may
  be really just a missing test if the uid and gid values are backed by
  a real Windows account.  It seems better to return EPERM here.
  
 I applied the patch indicated (see in
 https://cygwin.com/ml/cygwin-cvs/2015-q2/msg00033.html) and X11 now works
 back again.
 
 Thank you 1000 times.

Thanks for the early feedback.  Still, I changed it for -0.6 again,
because that's what had happened in the old code, too:  If the uid or
gid can't be resolved to a Windows SID, the function fails now with
ENOENT.  That's a non-POSIX extension because the problem just doesn't
exist on real POSIX systems.  Please give it a try.


Thanks,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgppWLEz7Jr_l.pgp
Description: PGP signature


Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-5

2015-04-17 Thread Corinna Vinschen
On Apr 16 12:53, Bryan Berns wrote:
 On Thu, Apr 16, 2015 at 10:17 AM, Jim Reisert AD1C
 jjreis...@alum.mit.edu wrote:
  I am unable to start Cywin/X X-server 1.17.1 with this version.
  Previous releases of 2.0.0.x were OK.  I had to revert to 1.7.35-1 for
  the time being.
 
  Other than updating to 2.0.0.5, I also installed the April 2015 Patch
  Tuesday updates from Microsoft.  I don't know if the two are related.
Windows 7 Home Premium, 64-bit
 
  Exception: STATUS_ACCESS_VIOLATION at eip=77C50F8A
  eax= ebx=612D67B0 ecx=1000 edx=612D2648 esi= 
  edi=0028C790
  ebp=0028C608 esp=0028C604 program=C:\Cygwin\bin\XWin.exe, pid 1660, thread 
  main
  cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
  Stack trace:
  Frame Function  Args
  0028C608  77C50F8A (, 612D2648, , 612D67B0)
  0028C738  610CDA1F (43FF, , , 80012428)
  0028C7B8  61047198 (, 72483F24, 75604227, 0254)
  0028C7F8  610F629D (0001, , , 75623912)
 
  --
  Jim Reisert AD1C, jjreis...@alum.mit.edu, http://www.ad1c.us
 
 I've actually had problem building Cygwin (1.7.35 or 2.x source) on
 Cygwin 2.x using Windows.  The make errors out with a permissions
 denied when setting permissions (chmod +x) on config.status in
 builddir/etc.  I was able to produce it on three different, freshly
 built copies of Windows (no BLODA at all).  Only had Cygwin plus the
 build essentials (gcc, ming, xmlto, diffutils, textinfo, cocom)
 installed.  Only tried with 32-bit.
 
 The super wacky thing is that if I rearrange the unrelated contents of
 the make file that fuels the whole process, the problem goes away.  If
 I downgrade the core back to 1.7.35, the problem goes away.  It
 almost seems like there might an uninitialized memory issue in the
 code path executed in chmod().  I apologize for the lack of debugging
 on my part, but I just wanted to throw this out there in case a) it
 could be related to this issue or b) anyone else has seen this.

This is more in line with what Ismail reported in
https://cygwin.com/ml/cygwin/2015-04/msg00365.html

And I finally managed to reproduce it.  It works on the command line and
only fails during `make' for me.  Investigating now...

 That said, I'm making progress in debugging my Unknown Group issue
 described in another chain; hope to report out on that this weekend
 when I have a little more time to play.

Cool, thanks.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpbKE9knd1nc.pgp
Description: PGP signature


Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-5

2015-04-17 Thread Corinna Vinschen
On Apr 17 10:16, Corinna Vinschen wrote:
 On Apr 16 12:53, Bryan Berns wrote:
  On Thu, Apr 16, 2015 at 10:17 AM, Jim Reisert AD1C
  jjreis...@alum.mit.edu wrote:
   I am unable to start Cywin/X X-server 1.17.1 with this version.
   Previous releases of 2.0.0.x were OK.  I had to revert to 1.7.35-1 for
   the time being.
  
   Other than updating to 2.0.0.5, I also installed the April 2015 Patch
   Tuesday updates from Microsoft.  I don't know if the two are related.
 Windows 7 Home Premium, 64-bit
  
   Exception: STATUS_ACCESS_VIOLATION at eip=77C50F8A
   eax= ebx=612D67B0 ecx=1000 edx=612D2648 esi= 
   edi=0028C790
   ebp=0028C608 esp=0028C604 program=C:\Cygwin\bin\XWin.exe, pid 1660, 
   thread main
   cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
   Stack trace:
   Frame Function  Args
   0028C608  77C50F8A (, 612D2648, , 612D67B0)
   0028C738  610CDA1F (43FF, , , 80012428)
   0028C7B8  61047198 (, 72483F24, 75604227, 0254)
   0028C7F8  610F629D (0001, , , 75623912)
  
   --
   Jim Reisert AD1C, jjreis...@alum.mit.edu, http://www.ad1c.us
  
  I've actually had problem building Cygwin (1.7.35 or 2.x source) on
  Cygwin 2.x using Windows.  The make errors out with a permissions
  denied when setting permissions (chmod +x) on config.status in
  builddir/etc.  I was able to produce it on three different, freshly
  built copies of Windows (no BLODA at all).  Only had Cygwin plus the
  build essentials (gcc, ming, xmlto, diffutils, textinfo, cocom)
  installed.  Only tried with 32-bit.
  
  The super wacky thing is that if I rearrange the unrelated contents of
  the make file that fuels the whole process, the problem goes away.  If
  I downgrade the core back to 1.7.35, the problem goes away.  It
  almost seems like there might an uninitialized memory issue in the
  code path executed in chmod().  I apologize for the lack of debugging
  on my part, but I just wanted to throw this out there in case a) it
  could be related to this issue or b) anyone else has seen this.
 
 This is more in line with what Ismail reported in
 https://cygwin.com/ml/cygwin/2015-04/msg00365.html
 
 And I finally managed to reproduce it.  It works on the command line and
 only fails during `make' for me.  Investigating now...

I think I found the culprit.  I'll uploade a -0.7 test release in
the next hour or so.


Thanks for testing,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpe6mpRBXAIT.pgp
Description: PGP signature


Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-5

2015-04-17 Thread Corinna Vinschen
On Apr 16 15:20, Jim Reisert AD1C wrote:
  I would suggest not to use passwd and group files anymore, unless you're
  in a situation with no connection to the account DB (e.g.  AD member
  machine without connection to the DC).
 
 If you mean remove the /etc/passwd and /etc/group files, that didn't
 work for me.  Xwin crashed the same way.

That should be fixed in 2.0.0-0.6 which I'm just copying to the
release area.

 mkpasswd isn't an option for me, everyone in the company will be
 added to the password file (I tried it).  Non-starter!

As I said, just don't use them.  But if you need it for some
reason, try

  $ mkpasswd -l -c
  $ mkgroup -l -c

That restricts the outout to the local accoutns and your own user
and primary group.  That's what setup calls.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpgpuz_qSFEH.pgp
Description: PGP signature


Re: Cygwin hangs up if several keys are typed during outputting a lot of texts.

2015-04-17 Thread Takashi Yano
Hi Corinna,

On Thu, 16 Apr 2015 11:05:33 +0200
Corinna Vinschen corinna-cyg...@cygwin.com wrote:

 Ok, but... this is a really big patch and it complicates the pty code
 even more.  Is there really no other option as far as the TCSADRAIN
 problem is concerned?
 
 What strikes me as weird is that neither fhandler_pty_slave::tcsetattr
 nor fhandler_pty_master::tcsetattr give a damn for the optional_actions
 parameter.  They simply overwrite the tc settings.  So I'm wondering,
 wouldn't it be possible to add code to the tcsetattr implementation
 instead, so that TCSADRAIN/TCSAFLUSH are honored and than only have one
 place for OPOST handling?

I also think the patch was a big deal. However, I did not have
any other good idea.

Anyway, I have worked out another solution. Please find a patch
attached.

What do you think of this one?

OPOST code has been now completely moved back to master side as
with original implementation.

With this patch, tcsetattr() waits until master reads all data
in pipe before new attributes are applied to preserve the order
between write() and tcsetattr().

However, there is a potential risk in which tcsetattr() can be
blocked if master stops reading pipe, even though I can not imagine
such a likely situation.

Moreover, it is necessary to duplicate io_handle from master-side
to slave-side to allow slave to peek master pipe. It is not smart
enough, I suppose.


ChageLog is as follows.

2015-04-17  Takashi Yano  takashi.y...@nifty.ne.jp

* fhandler.h (fhandler_pty_common): Remove function
process_opost_output (). Since processing regarding OPOST is moved back
to master side, this function is needed no more.
(class fhandler_pty_slave): Add variable 'from_slave' for checking
whether master input pipe is empty. This used by flandler_pty_slave
::tcsetattr().
(class fhandler_pty_master): Move variable 'column' for handling ONOCR
from class tty to class fhandler_pty_master. Revive variable 'need_nl'
which is used by OPOST-processing in master side.
* fhandler_tty.cc (struct pipe_reply): Add member 'from_slave'.
(fhandler_pty_master::doecho): Call WriteFile() instead of
fhandler_pty_common::process_opost_output().
(fhandler_pty_master::process_slave_output): Move OPOST-processing back
into this function.
(fhandler_pty_slave::fhandler_pty_slave): Initialize 'from_slave'.
(fhandler_pty_slave::open): Duplicate handle regarding 'from_slave'.
(fhandler_pty_slave::close): Close handle 'from_slave'.
(fhandler_pty_slave::write): Call WriteFile() instead of
fhandler_pty_common::process_opost_output().
(fhandler_pty_slave::tcsetattr): Wait until master reads all data from
slave.
(fhandler_pty_slave::fhandler_pty_slave): Initialize 'column' and
'need_nl'.
(fhandler_pty_master::pty_master_thread): Add code to duplicate handle
regarding 'from_slave'.
(fhandler_pty_master::setup): Set io_handle to tty::_from_slave.
(fhandler_pty_common::process_opost_output): Remove this function.
* select.cc (peek_pipe): Revive the code checking 'need_nl'.
* tty.cc (tty::init): Remove initialization for 'column'.
* tty.h (class tty): Add variable '_from_slave'. Add two functions
from_slave() and set_from_slave() regarding '_from_master'. Remove
variable 'column'. It is moved to class fhandler_pty_master.



-- 
Takashi Yano takashi.y...@nifty.ne.jp


cygwin.patch.20150417-2
Description: Binary data
--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple

Re: TEST RELEASE: Cygwin 2.0.0-0.7

2015-04-17 Thread Jim Reisert AD1C
 New 2.0.0-0.7 test release:

I'm happy to report that Xwin now starts up straight away, even with
missing /etc/passwd and /etc/group files.

Thanks for fixing this!

-- 
Jim Reisert AD1C, jjreis...@alum.mit.edu, http://www.ad1c.us

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: Cygwin hangs up if several keys are typed during outputting a lot of texts.

2015-04-17 Thread Corinna Vinschen
On Apr 17 14:10, Corinna Vinschen wrote:
 On Apr 17 20:27, Takashi Yano wrote:
  @@ -868,6 +980,9 @@ fhandler_pty_slave::tcgetattr (struct termios *t)
   int
   fhandler_pty_slave::tcsetattr (int, const struct termios *t)
   {
  +  DWORD n;
  +  while (::bytes_available (n, from_slave)  n)
  +cygwait (10);
 acquire_output_mutex (INFINITE);
 get_ttyp ()-ti = *t;
 release_output_mutex ();
 
 Shouldn't this loop be skipped in TCSANOW mode?
 
  OPOST code has been now completely moved back to master side as
  with original implementation.
  
  With this patch, tcsetattr() waits until master reads all data
  in pipe before new attributes are applied to preserve the order
  between write() and tcsetattr().
  
  However, there is a potential risk in which tcsetattr() can be
  blocked if master stops reading pipe, even though I can not imagine
  such a likely situation.
 
 Yeah, but it is a busy wait.  Hmm.  Also, on second thought, the above
 loop checks for bytes_available every time and changes n.  So, if
 another slave writes lots of data, wouldn't the slave calling tcsetattr
 starve?
 
 IIUC, what you'd really like to know is something else.  It's not about
 having n  0 bytes in the pipe, but on calling tcsetattr, you'd like to
 know how much bytes are in the pipe at this very moment, and then you'd
 overwrite the termios info as soon as these n bytes are written.  That
 sounds pretty different to me.
 
 It would be cool if the slave-side tcsetattr only transmits the
 optional_actions and the new termios content to the master, and the
 master keeps it stashed away together with the number of bytes in the
 pipe right now.  Then in, say, process_slave_output, it checks if the
 precondition is fulfilled and only then overwrites its termios
 structure.
 
 Off the top of my head I'm not sure how feasible this is.  One way to do
 that *may* be to send the info in the normal write pipe to the master.
 What we need then would be a method to identify such a tcsetattr packet
 in the input stream.
 
 Other ideas?

Maybe your idea to introduce a second pipe wasn't that bad after all...

So, instead of using it for Cygwin slave I/O (which makes me cringe a
bit), it could be used as a command channel to the master.  Since only
Cygwin executables would understand this concept anyway, it's ok that
native applications don't know about it.  This pipe could then be used
to transmit tcsetattr info to the master, and the master could apply the
change when it sees fit.  Maybe we even realize it could be used for
something else in future.  Ctrl-S/Ctrl-Q processing might be nice, say.

What do you think?

I'm sorry if I let you jump through hoops here, but I'm not really
sure about the best solution either :}


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpb_IFuYzXpC.pgp
Description: PGP signature


Re: TEST RELEASE: Cygwin 2.0.0-0.7

2015-04-17 Thread Corinna Vinschen
On Apr 17 06:15, Jim Reisert AD1C wrote:
  New 2.0.0-0.7 test release:
 
 I'm happy to report that Xwin now starts up straight away, even with
 missing /etc/passwd and /etc/group files.
 
 Thanks for fixing this!

Sure, thanks for your feedback!


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpG82d_JBGSF.pgp
Description: PGP signature


Re: TEST RELEASE: Cygwin 2.0.0-0.7

2015-04-17 Thread Corinna Vinschen
On Apr 17 06:27, Jim Reisert AD1C wrote:
 There's still something funky going on.  ssh won't recognize my
 ~/.ssh/config file.
 
 With my existing passwd and group files, I get this error (notice that
 the warned permissions are different that what ls reports):
 
 -rw---+ 1 Jim Reisert None  205 Apr 17 06:19 .ssh/config
 
 [JJR:~] $ ssh ad1c
 @@@
 @ WARNING: UNPROTECTED PRIVATE KEY FILE!  @
 @@@
 Permissions 0644 for '/cygdrive/D/home/.ssh/id_rsa' are too open.
  ^^
   Another file?

 It is recommended that your private key files are NOT accessible by others.
 This private key will be ignored.
 Load key /cygdrive/D/home/.ssh/id_rsa: bad permissions
 
 
 If I move both passwd and group out-of-the-way, the config file is not
 recognized at all!
 
 -rw---+ 1 Jim Reisert None 205 Apr 17 06:19 .ssh/config
 
 [JJR:~] $ ssh ad1c
 ssh: Could not resolve hostname ad1c: Name or service not known

I don't understand the reason for this message.  It does not exactly
point to a problem with the config file.  I think I need more
explanation here and a bit of detective work from your side...


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpxKHZNfvIRo.pgp
Description: PGP signature


Re: TEST RELEASE: Cygwin 2.0.0-0.7

2015-04-17 Thread Jim Reisert AD1C
There's still something funky going on.  ssh won't recognize my
~/.ssh/config file.

With my existing passwd and group files, I get this error (notice that
the warned permissions are different that what ls reports):

-rw---+ 1 Jim Reisert None  205 Apr 17 06:19 .ssh/config

[JJR:~] $ ssh ad1c
@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE!  @
@@@
Permissions 0644 for '/cygdrive/D/home/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
Load key /cygdrive/D/home/.ssh/id_rsa: bad permissions


If I move both passwd and group out-of-the-way, the config file is not
recognized at all!

-rw---+ 1 Jim Reisert None 205 Apr 17 06:19 .ssh/config

[JJR:~] $ ssh ad1c
ssh: Could not resolve hostname ad1c: Name or service not known

-- 
Jim Reisert AD1C, jjreis...@alum.mit.edu, http://www.ad1c.us

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: TEST RELEASE: Cygwin 2.0.0-0.7

2015-04-17 Thread Jim Reisert AD1C
I finally understand what happened.

In my /etc/passwd, I have configured a different home directory for
myself.  Without that file, it goes to /home/Jim Reisert which does
not exist!

Is there a way to change my default home directory without using
/etc/passwd, other than creating a symbolic link inside of /home?

- Jim

-- 
Jim Reisert AD1C, jjreis...@alum.mit.edu, http://www.ad1c.us

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-5

2015-04-17 Thread Jon TURNEY

On 16/04/2015 17:21, Corinna Vinschen wrote:

Btw., it would be nice to know why XWin tries to chown a file.
Jon?


This seems to be in trans_mkdir() in libxtrans [1], which tries to make 
sure that /tmp/.X11-unix (the directory in which the server's 
unix-domain sockets are created) is owned by uid 0, gid 0.


[1] http://cgit.freedesktop.org/xorg/lib/libxtrans/tree/Xtransutil.c#n591


$ gdb XWin
[...]
Reading symbols from XWin...Reading symbols from 
/usr/lib/debug//usr/bin/XWin.exe.dbg...done.
done.
(gdb) b fchown
Breakpoint 1 at 0x10057aa80
(gdb) r
Starting program: /usr/bin/XWin
Breakpoint 1, 0x00010057aa80 in fchown ()
(gdb) bt
#0  0x00010057aa80 in fchown ()
#1  0x000100573bac in trans_mkdir (mode=1023, path=0x1005b47c8 __func__.16196+2499 
/tmp/.X11-unix) at /usr/include/X11/Xtrans/Xtransutil.c:591
[...]



--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-5

2015-04-17 Thread Ian Lambert

 Try the -0.6
 I'm just uploading.  This should work again since
 it checks the PSIDs for NULL before calling
 this crashing OS function.
 
 
Indeed, it works again. Thanks! And ssh works too. :)

It still gives this error message, but it was only noticed because it was the 
last line of output:

winMultiWindowXMsgProcErrorHandler - ERROR: BadMatch (invalid parameter 
attributes)

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: TEST RELEASE: Cygwin 2.0.0-0.7

2015-04-17 Thread Corinna Vinschen
On Apr 17 15:16, Corinna Vinschen wrote:
 On Apr 17 06:46, Jim Reisert AD1C wrote:
  I finally understand what happened.
  
  In my /etc/passwd, I have configured a different home directory for
  myself.  Without that file, it goes to /home/Jim Reisert which does
  not exist!
  
  Is there a way to change my default home directory without using
  /etc/passwd, other than creating a symbolic link inside of /home?
 
 That's what is explained in https://cygwin.com/cygwin-ug-net/ntsec.html
 
 The chapters you should be looking for are
 
   https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch-home
 
   E.g. this setting in /etc/nsswitch.conf would do the trick if you're
   the only user (but careful with sshd!):

  db_home: /cygdrive/d/home

 Or perhaps
 
   https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch-desc
 
   Set db_home: desc and change the description field in your SAM
   according to the above document.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgptASafg3ZTk.pgp
Description: PGP signature


Re: TEST RELEASE: Cygwin 2.0.0-0.7

2015-04-17 Thread Corinna Vinschen
On Apr 17 06:46, Jim Reisert AD1C wrote:
 I finally understand what happened.
 
 In my /etc/passwd, I have configured a different home directory for
 myself.  Without that file, it goes to /home/Jim Reisert which does
 not exist!
 
 Is there a way to change my default home directory without using
 /etc/passwd, other than creating a symbolic link inside of /home?

That's what is explained in https://cygwin.com/cygwin-ug-net/ntsec.html

The chapters you should be looking for are

  https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch-home

  E.g. this setting in /etc/nsswitch.conf would do the trick if you're
  the only user (but careful with sshd!):

Or perhaps

  https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch-desc

  Set db_home: desc and change the description field in your SAM
  according to the above document.


HTH,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpKujJ8fLeGQ.pgp
Description: PGP signature


Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-5

2015-04-17 Thread Corinna Vinschen
On Apr 17 06:57, Bryan Berns wrote:
 On Fri, Apr 17, 2015 at 6:07 AM, Corinna Vinschen
 corinna-cyg...@cygwin.com wrote:
  On Apr 17 10:16, Corinna Vinschen wrote:
  On Apr 16 12:53, Bryan Berns wrote:
   I've actually had problem building Cygwin (1.7.35 or 2.x source) on
   Cygwin 2.x using Windows.  The make errors out with a permissions
   denied when setting permissions (chmod +x) on config.status in
   builddir/etc.  I was able to produce it on three different, freshly
   built copies of Windows (no BLODA at all).  Only had Cygwin plus the
   build essentials (gcc, ming, xmlto, diffutils, textinfo, cocom)
   installed.  Only tried with 32-bit.
  
   The super wacky thing is that if I rearrange the unrelated contents of
   the make file that fuels the whole process, the problem goes away.  If
   I downgrade the core back to 1.7.35, the problem goes away.  It
   almost seems like there might an uninitialized memory issue in the
   code path executed in chmod().  I apologize for the lack of debugging
   on my part, but I just wanted to throw this out there in case a) it
   could be related to this issue or b) anyone else has seen this.
 
  This is more in line with what Ismail reported in
  https://cygwin.com/ml/cygwin/2015-04/msg00365.html
 
  And I finally managed to reproduce it.  It works on the command line and
  only fails during `make' for me.  Investigating now...
 
  I think I found the culprit.  I'll uploade a -0.7 test release in
  the next hour or so.
 
 
  Thanks for testing,
  Corinna
 
  --
  Corinna Vinschen  Please, send mails regarding Cygwin to
  Cygwin Maintainer cygwin AT cygwin DOT com
  Red Hat
 
 On my way to work now and probably will be offline most of the day,
 but just wanted to let you know that I did a quick rip of the DLL file
 from cygwin-2.0.0-0.7.tar.xz on the sourceware.org mirror and make /
 chmod seems happier now.  Nice!  :-)

Cool, thanks for testing!


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpabryP7CKGM.pgp
Description: PGP signature


Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-5

2015-04-17 Thread Corinna Vinschen
On Apr 17 12:29, Jon TURNEY wrote:
 On 16/04/2015 17:21, Corinna Vinschen wrote:
 Btw., it would be nice to know why XWin tries to chown a file.
 Jon?
 
 This seems to be in trans_mkdir() in libxtrans [1], which tries to make sure
 that /tmp/.X11-unix (the directory in which the server's unix-domain sockets
 are created) is owned by uid 0, gid 0.

Yep, that is in line with the observation.  Thanks for confirming.
Such an fchown is bound to fail, of course, but it did so before and
XWin didn't gripe, so I assume it doesn't check the return value.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpjKluBXAyR0.pgp
Description: PGP signature


TEST RELEASE: Cygwin 2.0.0-0.7

2015-04-17 Thread Corinna Vinschen
Hi Cygwin friends and users,


New 2.0.0-0.7 test release:

- Improved setfacl tool.  It now handles mask recomputation just like
  the Linux tool.  -d option renamed to -x (but -d is still accepted
  for backward compat).  New -n,--no-mask and --mask options.

- Improved getfacl tool.  It now prints effective permissions just like
  the Linux tool.  --noname optioned renamed to --numeric (but --noname
  is still accepted for backward compat).  New -c,--omit-header,
  -e,--all-effective, and -E,--no-effective options.

- Fix a bug in account handling.  In certain scenarios a PSID pointer
  was pointing into a buffer space which got moved away due to a call to
  realloc.  This bug seems to be the problem of the reported Permission
  denied problems when trying to chmod.
  
- Add a missing check for uid/gid values which can't be resolved to
  Windows accounts.  chmod now returns EINVAL now in this case, just as
  the pre 2.0 DLLs.

- I introduced a change in chmod behaviour which is not exactly in
  line with POSIX 1003.1e draft 17:
  
  If you have a non-trivial ACL with secondary accounts and thus a mask
  value, chmod is supposed to change only the mask, not the permissions
  of the primary group.  However, if the primary group has few permissions
  to begin with, the result is really surprising.  ls -l would, e.g.,
  show read/write perms for the group, but the group might still have
  only read perms.

  Personally I find this chmod behaviour really, really bad, so I took
  the liberty to change it in a way which gives a much less surprising
  result:  If you call chmod on a non-trivial ACL, the group permissions
  will be used for the primary group and the mask.  I hope that this
  is working out ok.

- Fix a bug when reading DENAY ACEs of accounts with multiple entries
  (typically in the owner == group case).

- Fix how group perms are merged into owner perms in owner == group case.

- Fix a bug in SID handling which may result in broken SID info in
  passwd/group entries of unknown accounts.


Other than that...

The important change in this release is the POSIX permission handling
change, a rewrite of the underlying routines reading and creating
Windows ACLs following POSIX permission rules and POSIX ACL creating
rules per POSIX 1003.1e draft 17, as on Linux.

For a description of POSIX ACLs, see http://linux.die.net/man/5/acl


All changes in this release so far:
===

- New, unified implementation of POSIX permission and ACL handling.  The
  new ACLs now store the POSIX ACL MASK/CLASS_OBJ permission mask, and
  they allow to inherit the S_ISGID bit.  ACL inheritance now really
  works as desired, in a limited, but theoretically equivalent fashion
  even for non-Cygwin processes.

  To accommodate Windows default ACLs, the new code ignores SYSTEM and
  Administrators group permissions when computing the MASK/CLASS_OBJ
  permission mask on old ACLs, and it doesn't deny access to SYSTEM and
  Administrators group based on the value of MASK/CLASS_OBJ when
  creating the new ACLs.
  
  The new code now handles the S_ISGID bit on directories as on Linux:
  Setting S_ISGID on a directory causes new files and subdirs created
  within to inherit its group, rather than the primary group of the user
  who created the file.  This only works for files and directories
  created by Cygwin processes.
  
- basename(3) now comes in two flavors, POSIX and GNU.  The POSIX version is
  the default.  You get the GNU version after
  
#define _GNU_SOURCE
#include string.h 

- The maximum number of PTYs has been raised from 64 to 128.


Bug Fixes
-
  
- Fix potential hang in pseudo ttys when generating ECHO output while the slave
  is flooding the pty with output.
  Addresses: https://cygwin.com/ml/cygwin/2015-03/msg00019.html
  
- Fix potential premature SIGHUP in pty code.
  Addresses: https://cygwin.com/ml/cygwin/2015-03/msg00070.html
  
- Fix a name change from symlink to target name in calls to execvp, system, etc.
  Addresses: https://cygwin.com/ml/cygwin/2015-03/msg00270.html
  
- Fix internal error in pty -ONLCR handling.  Fix timing bug in pty OPOST 
  handling.
  Addresses: https://cygwin.com/ml/cygwin/2015-02/msg00929.html

  NOTE: This change introduces a not yet addressed regression.
  Native Windows tools generating output with Unix LF instead of
  Windows CRLF line endings will not get OPOST handling.  This
  prominently affects icacls.

- Avoid creating passwd and group records from fully qualified Windows
  account names (domain\name, name@domain).
  Addresses: https://cygwin.com/ml/cygwin/2015-03/msg00528.html

- Avoid potential crash at startup or in getgroups(2).
  Addresses: https://cygwin.com/ml/cygwin/2015-04/msg00010.html

- Fix UTF-16 surrogate handling in wctomb and friends.
  Addresses: https://cygwin.com/ml/cygwin/2015-03/msg00452.html


To install 32-bit Cygwin use https://cygwin.com/setup-x86.exe
To install 64 bit Cygwin use 

[ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-0.7

2015-04-17 Thread Corinna Vinschen
Hi Cygwin friends and users,


New 2.0.0-0.7 test release:

- Improved setfacl tool.  It now handles mask recomputation just like
  the Linux tool.  -d option renamed to -x (but -d is still accepted
  for backward compat).  New -n,--no-mask and --mask options.

- Improved getfacl tool.  It now prints effective permissions just like
  the Linux tool.  --noname optioned renamed to --numeric (but --noname
  is still accepted for backward compat).  New -c,--omit-header,
  -e,--all-effective, and -E,--no-effective options.

- Fix a bug in account handling.  In certain scenarios a PSID pointer
  was pointing into a buffer space which got moved away due to a call to
  realloc.  This bug seems to be the problem of the reported Permission
  denied problems when trying to chmod.
  
- Add a missing check for uid/gid values which can't be resolved to
  Windows accounts.  chmod now returns EINVAL now in this case, just as
  the pre 2.0 DLLs.

- I introduced a change in chmod behaviour which is not exactly in
  line with POSIX 1003.1e draft 17:
  
  If you have a non-trivial ACL with secondary accounts and thus a mask
  value, chmod is supposed to change only the mask, not the permissions
  of the primary group.  However, if the primary group has few permissions
  to begin with, the result is really surprising.  ls -l would, e.g.,
  show read/write perms for the group, but the group might still have
  only read perms.

  Personally I find this chmod behaviour really, really bad, so I took
  the liberty to change it in a way which gives a much less surprising
  result:  If you call chmod on a non-trivial ACL, the group permissions
  will be used for the primary group and the mask.  I hope that this
  is working out ok.

- Fix a bug when reading DENAY ACEs of accounts with multiple entries
  (typically in the owner == group case).

- Fix how group perms are merged into owner perms in owner == group case.

- Fix a bug in SID handling which may result in broken SID info in
  passwd/group entries of unknown accounts.


Other than that...

The important change in this release is the POSIX permission handling
change, a rewrite of the underlying routines reading and creating
Windows ACLs following POSIX permission rules and POSIX ACL creating
rules per POSIX 1003.1e draft 17, as on Linux.

For a description of POSIX ACLs, see http://linux.die.net/man/5/acl


All changes in this release so far:
===

- New, unified implementation of POSIX permission and ACL handling.  The
  new ACLs now store the POSIX ACL MASK/CLASS_OBJ permission mask, and
  they allow to inherit the S_ISGID bit.  ACL inheritance now really
  works as desired, in a limited, but theoretically equivalent fashion
  even for non-Cygwin processes.

  To accommodate Windows default ACLs, the new code ignores SYSTEM and
  Administrators group permissions when computing the MASK/CLASS_OBJ
  permission mask on old ACLs, and it doesn't deny access to SYSTEM and
  Administrators group based on the value of MASK/CLASS_OBJ when
  creating the new ACLs.
  
  The new code now handles the S_ISGID bit on directories as on Linux:
  Setting S_ISGID on a directory causes new files and subdirs created
  within to inherit its group, rather than the primary group of the user
  who created the file.  This only works for files and directories
  created by Cygwin processes.
  
- basename(3) now comes in two flavors, POSIX and GNU.  The POSIX version is
  the default.  You get the GNU version after
  
#define _GNU_SOURCE
#include string.h 

- The maximum number of PTYs has been raised from 64 to 128.


Bug Fixes
-
  
- Fix potential hang in pseudo ttys when generating ECHO output while the slave
  is flooding the pty with output.
  Addresses: https://cygwin.com/ml/cygwin/2015-03/msg00019.html
  
- Fix potential premature SIGHUP in pty code.
  Addresses: https://cygwin.com/ml/cygwin/2015-03/msg00070.html
  
- Fix a name change from symlink to target name in calls to execvp, system, etc.
  Addresses: https://cygwin.com/ml/cygwin/2015-03/msg00270.html
  
- Fix internal error in pty -ONLCR handling.  Fix timing bug in pty OPOST 
  handling.
  Addresses: https://cygwin.com/ml/cygwin/2015-02/msg00929.html

  NOTE: This change introduces a not yet addressed regression.
  Native Windows tools generating output with Unix LF instead of
  Windows CRLF line endings will not get OPOST handling.  This
  prominently affects icacls.

- Avoid creating passwd and group records from fully qualified Windows
  account names (domain\name, name@domain).
  Addresses: https://cygwin.com/ml/cygwin/2015-03/msg00528.html

- Avoid potential crash at startup or in getgroups(2).
  Addresses: https://cygwin.com/ml/cygwin/2015-04/msg00010.html

- Fix UTF-16 surrogate handling in wctomb and friends.
  Addresses: https://cygwin.com/ml/cygwin/2015-03/msg00452.html


To install 32-bit Cygwin use https://cygwin.com/setup-x86.exe
To install 64 bit Cygwin use 

Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-5

2015-04-17 Thread Bryan Berns
On Fri, Apr 17, 2015 at 6:07 AM, Corinna Vinschen
corinna-cyg...@cygwin.com wrote:
 On Apr 17 10:16, Corinna Vinschen wrote:
 On Apr 16 12:53, Bryan Berns wrote:
  On Thu, Apr 16, 2015 at 10:17 AM, Jim Reisert AD1C
  jjreis...@alum.mit.edu wrote:
   I am unable to start Cywin/X X-server 1.17.1 with this version.
   Previous releases of 2.0.0.x were OK.  I had to revert to 1.7.35-1 for
   the time being.
  
   Other than updating to 2.0.0.5, I also installed the April 2015 Patch
   Tuesday updates from Microsoft.  I don't know if the two are related.
 Windows 7 Home Premium, 64-bit
  
   Exception: STATUS_ACCESS_VIOLATION at eip=77C50F8A
   eax= ebx=612D67B0 ecx=1000 edx=612D2648 esi= 
   edi=0028C790
   ebp=0028C608 esp=0028C604 program=C:\Cygwin\bin\XWin.exe, pid 1660, 
   thread main
   cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
   Stack trace:
   Frame Function  Args
   0028C608  77C50F8A (, 612D2648, , 612D67B0)
   0028C738  610CDA1F (43FF, , , 80012428)
   0028C7B8  61047198 (, 72483F24, 75604227, 0254)
   0028C7F8  610F629D (0001, , , 75623912)
  
   --
   Jim Reisert AD1C, jjreis...@alum.mit.edu, http://www.ad1c.us
 
  I've actually had problem building Cygwin (1.7.35 or 2.x source) on
  Cygwin 2.x using Windows.  The make errors out with a permissions
  denied when setting permissions (chmod +x) on config.status in
  builddir/etc.  I was able to produce it on three different, freshly
  built copies of Windows (no BLODA at all).  Only had Cygwin plus the
  build essentials (gcc, ming, xmlto, diffutils, textinfo, cocom)
  installed.  Only tried with 32-bit.
 
  The super wacky thing is that if I rearrange the unrelated contents of
  the make file that fuels the whole process, the problem goes away.  If
  I downgrade the core back to 1.7.35, the problem goes away.  It
  almost seems like there might an uninitialized memory issue in the
  code path executed in chmod().  I apologize for the lack of debugging
  on my part, but I just wanted to throw this out there in case a) it
  could be related to this issue or b) anyone else has seen this.

 This is more in line with what Ismail reported in
 https://cygwin.com/ml/cygwin/2015-04/msg00365.html

 And I finally managed to reproduce it.  It works on the command line and
 only fails during `make' for me.  Investigating now...

 I think I found the culprit.  I'll uploade a -0.7 test release in
 the next hour or so.


 Thanks for testing,
 Corinna

 --
 Corinna Vinschen  Please, send mails regarding Cygwin to
 Cygwin Maintainer cygwin AT cygwin DOT com
 Red Hat

On my way to work now and probably will be offline most of the day,
but just wanted to let you know that I did a quick rip of the DLL file
from cygwin-2.0.0-0.7.tar.xz on the sourceware.org mirror and make /
chmod seems happier now.  Nice!  :-)

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: Cygwin hangs up if several keys are typed during outputting a lot of texts.

2015-04-17 Thread Corinna Vinschen
Hi Takashi,

On Apr 17 20:27, Takashi Yano wrote:
 Hi Corinna,
 
 On Thu, 16 Apr 2015 11:05:33 +0200
 Corinna Vinschen corinna-cyg...@cygwin.com wrote:
 
  Ok, but... this is a really big patch and it complicates the pty code
  even more.  Is there really no other option as far as the TCSADRAIN
  problem is concerned?
  
  What strikes me as weird is that neither fhandler_pty_slave::tcsetattr
  nor fhandler_pty_master::tcsetattr give a damn for the optional_actions
  parameter.  They simply overwrite the tc settings.  So I'm wondering,
  wouldn't it be possible to add code to the tcsetattr implementation
  instead, so that TCSADRAIN/TCSAFLUSH are honored and than only have one
  place for OPOST handling?
 
 I also think the patch was a big deal. However, I did not have
 any other good idea.
 
 Anyway, I have worked out another solution. Please find a patch
 attached.
 
 What do you think of this one?

Looks better to me.   However:

 @@ -868,6 +980,9 @@ fhandler_pty_slave::tcgetattr (struct termios *t)
  int
  fhandler_pty_slave::tcsetattr (int, const struct termios *t)
  {
 +  DWORD n;
 +  while (::bytes_available (n, from_slave)  n)
 +cygwait (10);
acquire_output_mutex (INFINITE);
get_ttyp ()-ti = *t;
release_output_mutex ();

Shouldn't this loop be skipped in TCSANOW mode?

 OPOST code has been now completely moved back to master side as
 with original implementation.
 
 With this patch, tcsetattr() waits until master reads all data
 in pipe before new attributes are applied to preserve the order
 between write() and tcsetattr().
 
 However, there is a potential risk in which tcsetattr() can be
 blocked if master stops reading pipe, even though I can not imagine
 such a likely situation.

Yeah, but it is a busy wait.  Hmm.  Also, on second thought, the above
loop checks for bytes_available every time and changes n.  So, if
another slave writes lots of data, wouldn't the slave calling tcsetattr
starve?

IIUC, what you'd really like to know is something else.  It's not about
having n  0 bytes in the pipe, but on calling tcsetattr, you'd like to
know how much bytes are in the pipe at this very moment, and then you'd
overwrite the termios info as soon as these n bytes are written.  That
sounds pretty different to me.

It would be cool if the slave-side tcsetattr only transmits the
optional_actions and the new termios content to the master, and the
master keeps it stashed away together with the number of bytes in the
pipe right now.  Then in, say, process_slave_output, it checks if the
precondition is fulfilled and only then overwrites its termios
structure.

Off the top of my head I'm not sure how feasible this is.  One way to do
that *may* be to send the info in the normal write pipe to the master.
What we need then would be a method to identify such a tcsetattr packet
in the input stream.

Other ideas?


Thanks,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpIA8ijrlWUs.pgp
Description: PGP signature


Re: [TESTERS needed] New POSIX permission handling

2015-04-17 Thread Ismail Donmez
Hi,


Corinna Vinschen-2 wrote
 On Apr 17 09:30, Corinna Vinschen wrote:
 I think I found the culprit.  I'll uploade a -0.7 test release in
 the next hour or so.

So far all my tests work, thanks a bunch!




--
View this message in context: 
http://cygwin.1069669.n5.nabble.com/TESTERS-needed-New-POSIX-permission-handling-tp117406p117666.html
Sent from the Cygwin list mailing list archive at Nabble.com.

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



[newlib-cygwin] Support acl(2) method for reading pty ACLs, fix pty chown

2015-04-17 Thread Corinna Vinschen
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=f63dffb818f9856a43ed6cfb3395d882b21d94b8

commit f63dffb818f9856a43ed6cfb3395d882b21d94b8
Author: Corinna Vinschen cori...@vinschen.de
Date:   Fri Apr 17 19:54:59 2015 +0200

Support acl(2) method for reading pty ACLs, fix pty chown

* fhandler.h (fhandler_pty_slave::facl): Add prototype.
* fhandler_tty.cc (fhandler_pty_slave::facl): New method.
(fhandler_pty_slave::fchown): Fix uid/gid handling.
* sec_acl.cc (set_posix_access): Drop superfluous class_idx 
variable.
Simplify and move around code in a few places.  To improve ACL
readability, add r/w permissions to Admins ACE appended to pty ACL.
Add comment to explain Windows ACE Mask filtering being in the way 
of
creating a real CLASS_OBJ.
(get_posix_access): Fake CLASS_OBJ for ptys.  Explain why.
* security.cc (get_object_attribute): Add S_IFCHR flag to attributes
when calling get_posix_access.

Signed-off-by: Corinna Vinschen cori...@vinschen.de

Diff:
---
 winsup/cygwin/ChangeLog   | 14 ++
 winsup/cygwin/fhandler.h  |  1 +
 winsup/cygwin/fhandler_tty.cc | 64 +--
 winsup/cygwin/sec_acl.cc  | 56 +++--
 winsup/cygwin/security.cc |  9 --
 5 files changed, 120 insertions(+), 24 deletions(-)

diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index fb66f39..04bd520 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,19 @@
 2015-04-17  Corinna Vinschen  cori...@vinschen.de
 
+   * fhandler.h (fhandler_pty_slave::facl): Add prototype.
+   * fhandler_tty.cc (fhandler_pty_slave::facl): New method.
+   (fhandler_pty_slave::fchown): Fix uid/gid handling.
+   * sec_acl.cc (set_posix_access): Drop superfluous class_idx variable.
+   Simplify and move around code in a few places.  To improve ACL
+   readability, add r/w permissions to Admins ACE appended to pty ACL.
+   Add comment to explain Windows ACE Mask filtering being in the way of
+   creating a real CLASS_OBJ.
+   (get_posix_access): Fake CLASS_OBJ for ptys.  Explain why.
+   * security.cc (get_object_attribute): Add S_IFCHR flag to attributes
+   when calling get_posix_access.
+
+2015-04-17  Corinna Vinschen  cori...@vinschen.de
+
* uinfo.cc (pwdgrp::fetch_account_from_windows): Always revert SID
subauth count after checking for known domain.
 
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h
index 694c23b..05269e5 100644
--- a/winsup/cygwin/fhandler.h
+++ b/winsup/cygwin/fhandler.h
@@ -1545,6 +1545,7 @@ class fhandler_pty_slave: public fhandler_pty_common
   select_record *select_read (select_stuff *);
   virtual char const *ttyname () { return pc.dev.name; }
   int __reg2 fstat (struct stat *buf);
+  int __reg3 facl (int, int, struct acl *);
   int __reg1 fchmod (mode_t mode);
   int __reg2 fchown (uid_t uid, gid_t gid);
 
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index ccb76d9..d243d51 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -12,6 +12,7 @@ details. */
 #include winsup.h
 #include stdlib.h
 #include sys/param.h
+#include sys/acl.h
 #include cygwin/kd.h
 #include cygerrno.h
 #include security.h
@@ -1018,6 +1019,62 @@ fhandler_pty_slave::fstat (struct stat *st)
   return 0;
 }
 
+int __reg3
+fhandler_pty_slave::facl (int cmd, int nentries, aclent_t *aclbufp)
+{
+  int res = -1;
+  bool to_close = false;
+  security_descriptor sd;
+  mode_t attr = S_IFCHR;
+
+  switch (cmd)
+{
+  case SETACL:
+   if (!aclsort32 (nentries, 0, aclbufp))
+ set_errno (ENOTSUP);
+   break;
+  case GETACL:
+   if (!aclbufp)
+ {
+   set_errno (EFAULT);
+   break;
+ }
+   /*FALLTHRU*/
+  case GETACLCNT:
+   if (!input_available_event)
+ {
+   char buf[MAX_PATH];
+   shared_name (buf, INPUT_AVAILABLE_EVENT, get_minor ());
+   input_available_event = OpenEvent (READ_CONTROL, TRUE, buf);
+   if (input_available_event)
+ to_close = true;
+ }
+   if (!input_available_event
+   || get_object_sd (input_available_event, sd))
+ {
+   res = get_posix_access (NULL, attr, NULL, NULL, aclbufp, nentries);
+   if (aclbufp  res == MIN_ACL_ENTRIES)
+ {
+   aclbufp[0].a_perm = S_IROTH | S_IWOTH;
+   aclbufp[0].a_id = 18;
+   aclbufp[1].a_id = 544;
+ }
+   break;
+ }
+   if (cmd == GETACL)
+ res = get_posix_access (sd, attr, NULL, NULL, aclbufp, nentries);
+   else
+ res = get_posix_access (sd, attr, NULL, NULL, NULL, 0);
+   break;
+  default:
+   set_errno (EINVAL);
+   break;
+ 

Re: [TESTERS needed] New POSIX permission handling

2015-04-17 Thread Corinna Vinschen
On Apr 17 08:17, Ismail Donmez wrote:
 Hi,
 
 
 Corinna Vinschen-2 wrote
  On Apr 17 09:30, Corinna Vinschen wrote:
  I think I found the culprit.  I'll uploade a -0.7 test release in
  the next hour or so.
 
 So far all my tests work, thanks a bunch!

Thanks for your feedback!


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpN_BzNCPHoo.pgp
Description: PGP signature


Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-5

2015-04-17 Thread Corinna Vinschen
On Apr 17 06:17, Ian Lambert wrote:
 
  Try the -0.6
  I'm just uploading.  This should work again since
  it checks the PSIDs for NULL before calling
  this crashing OS function.
  
  
 Indeed, it works again. Thanks! And ssh works too. :)
 
 It still gives this error message, but it was only noticed because it was the 
 last line of output:
 
 winMultiWindowXMsgProcErrorHandler - ERROR: BadMatch (invalid parameter 
 attributes)

This is some XWin issue.  I doubt that it has something to do with
the ACL handling.


Thanks,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpPvzcYT8SoN.pgp
Description: PGP signature


Re: Running tasklist /m in cygwin hangs

2015-04-17 Thread Marco Atzeri

On 4/17/2015 5:23 PM, Saurabh T wrote:

I can confirm it still hangs for me with 1.7.35. I am using the 32 bit (i686) 
Cygwin which is the only difference from Andrey's.



on  $ uname -vrsm
CYGWIN_NT-6.1-WOW 1.7.35(0.287/5/3) 2015-03-04 12:07 i686

It is only a bit slow (both mintty and console)

$ time tasklist /m normaliz.DLL

Image Name PID Modules
=  


ZenworksWindowsService.ex 1424 normaliz.dll
AppleMobileDeviceService. 1616 normaliz.dll
explorer.exe  2520 normaliz.dll
PanGPS.exe3276 normaliz.dll
PanGPA.exe3420 normaliz.dll
iTunesHelper.exe  3544 normaliz.dll
Smc.exe   5008 normaliz.dll

real1m25.565s
user0m0.015s
sys 0m0.046s

It seems some type of timeout in the interaction of this
windows utility and cygwin

Regards
Marco


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: TEST RELEASE: Cygwin 2.0.0-0.7

2015-04-17 Thread Steven Penny
On Fri, Apr 17, 2015 at 7:46 AM, Jim Reisert AD1C wrote:
 Is there a way to change my default home directory without using
 /etc/passwd, other than creating a symbolic link inside of /home?

You can modify /etc/fstab like this

c:/home /home . acl

Example
http://github.com/svnpenn/dotfiles/blob/24302d29ef7158df1aa3a584131c810/fstab#L2

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: dig utility in bind-utils-9.9.7-1 returns no output

2015-04-17 Thread Keith Christian
Yaakov, Brian, Andrey, Marco, and Mark -

I updated Cygwin this morning, and now: dig works!  I have no idea why!

cksum /usr/bin/dig /bin/dig reports the same checksums as before,
and cygcheck dig produces the same output as before.

Baffling.

Thanks to all of you for the suggestions.

On Wed, Apr 15, 2015 at 4:19 PM, Keith Christian
keith1christ...@gmail.com wrote:
 Thanks Mark, but I tried both of those early in my attempts without
 success.  Good suggestion, though.

 On Wed, Apr 15, 2015 at 2:53 PM, Mark Hansen m...@winfirst.com wrote:
 On 4/15/2015 12:02 PM, Keith Christian wrote:

 cygcheck attachment is too large according to sourceware.

 What specific parts of cygcheck are needed to help troubleshoot this?

 Keith

 On Wed, Apr 15, 2015 at 12:55 PM, Keith Christian
 keith1christ...@gmail.com  wrote:

  Both /usr/bin/dig and /bin/dig run the same program:

 cksum /usr/bin/dig /bin/dig

  680300229 2202141 /usr/bin/dig
  680300229 2202141 /bin/dig

  Attached cygcheck_s_r_v_kvc.txt.


 I'm sorry - I could be completely off-base here. What I meant was can you
 try running
 '/usr/bin/dig' (providing the full path to the application) rather than by
 just running 'dig'
 just in case there is some other 'dig' on your path (or shell aliases) which
 might be running
 rather than the actual /usr/bin/dig command.

 In previous messages, your examples were running 'dig' (without the full
 path) so it wasn't
 clear which dig you were actually getting.

 Good luck.



  On Tue, Apr 14, 2015 at 3:53 PM, Mark Hansenm...@winfirst.com  wrote:

  Are you sure that you're getting the correct dig executable? Is it
 possible
  that something else in
  your path or alias list is getting hit? Perhaps you can try
 /usr/bin/dig
  just to be sure?


 --
 Problem reports:   http://cygwin.com/problems.html
 FAQ:   http://cygwin.com/faq/
 Documentation: http://cygwin.com/docs.html
 Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: TEST RELEASE: Cygwin 2.0.0-0.7

2015-04-17 Thread Jim Reisert AD1C
   https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch-home

Very helpful, Corinna! Working as advertised.

- Jim

-- 
Jim Reisert AD1C, jjreis...@alum.mit.edu, http://www.ad1c.us

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



NTSEC db_home

2015-04-17 Thread Jim Reisert AD1C
I'm having a little trouble with the db_home: setting at work
(corporate network, not using /etc/passwd or /etc/group).  Regarding:

  https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch-home

I tried db_home: /%H and although my MINTTY session started in the
correct directory, ssh-keygen wanted to use the directory defined by
HOMESHARE instead, which points somewhere else (a local Unix server).
Note that both HOMEDRIVE (+HOMEPATH) and HOMESHARE ultimately point to
the same place:

DOS view of the world:

c:\set | grep HOME
HOME=C:\Home
HOMEDRIVE=P:
HOMEPATH=\
HOMESHARE=\\corp.ad.broadcom.com\DENA\home\reisert

(mintty window with bash)

[LTDENA-REISERT:~] $ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key
(//corp.ad.broadcom.com/DENA/home/reisert/.ssh/id_rsa):

Cygwin view of the world:

[LTDENA-REISERT:~] $ set | grep -i home
CDPATH=.:/cygdrive/c/Home:/cygdrive/c/Home/dx4win:/cygdrive/c
HISTFILE=/cygdrive/c/Home/.bash_history
HOME=/cygdrive/c/Home
HOMEDRIVE=P:
HOMEPATH='\'
HOMESHARE='\\corp.ad.broadcom.com\DENA\home\reisert'
PWD=/cygdrive/c/Home

I can't explain what's going on.  I changed db_home to:

db_home:   /cygdrive/C/Home

and it's working as expected.

-- 
Jim Reisert AD1C, jjreis...@alum.mit.edu, http://www.ad1c.us

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: R help leaves out lines of text

2015-04-17 Thread paul
Marco Atzeri marco.atzeri at gmail.com writes:
 I am ramping up on the R statistical analysis environment.  I find
 that the help leaves out entire lines of text.  The pager is
 /usr/lib/R/bin/pager.  I changed it to /bin/less, but I see the
 same symptom.  The problem shows up both in xterm and mintty.  The
 computer is in a locked down environment, so a straight update of
 cygwin packages is not an option.  From the R forum, the problem
 might be due to improper handling of line endings by the R port to
 cygwin.

 Is there anything further I can try to circumvent the problem?

 My version info is:

 64-bit Cygwin DLL version 1.7.28
 R version 3.0.1-1

 
 Are the input files Unix style or DOS style ?
 Can you give an example to replicate your finding ?
 
 I can that test than if the last R-3.1.3-1 package behaves correctly
 or not. R-3.0.1-1 package is almost 2 years old.

I can't actually find the help files; I suspect that they are not just
plain text.  I tried looking for html versions of the help pages by
ferruting through the R.home() subtree.  Haven't found them so far.
There are package pages in subdirectories package/html/00Index.html,
but they just contain links to html files that don't reside in my
R.home() subtree.  There are also subdirectories package/help, but
they contain pages that I don't recognize (*.rds, *.rdb, *.rdx).

As an example, I've attached the output from ?help at the very end
below.  My current workaround is to use the following in my
~/.Rprofile, which forces the help to a browser:

   options(browser=cygstart)
   options(help_type=html)

Here's the bad result from help(help,help_type=text):


 help   package:utils   R Documentation

multiple blank lines...

Documentation

multiple blank lines...

Description:

multiple blank lines...

Usage:

multiple blank lines...

 help(topic, package = NULL, lib.loc = NULL,
  verbose = getOption(verbose),
  try.all.packages = getOption(help.try.all.packages),
  help_type = getOption(help_type))

multiple blank lines...

Arguments:

multiple blank lines...

lines 1-23- (less prompt)

multiple blank lines...

Details:

multiple blank lines...

 The following types of help are available:

multiple blank lines...

Plain text help

multiple blank lines...

If a package is specified, (text or, in interactive use only, HTML)
  information on the package, including hints/links to suitable
  help topics.

multiple blank lines...

lines 24-46- (less prompt)

multiple blank lines...

Offline help:

multiple blank lines...

Note:

multiple blank lines...

References:

multiple blank lines...

 Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S
 Language_.  Wadsworth  Brooks/Cole.

multiple blank lines...

See Also:

multiple blank lines...

Examples:

multiple blank lines...

 help()
 help(help)  # the same

multiple blank lines...

lines 47-69- (less prompt)
  help(lapply)

multiple blank lines...

 help(for) # or ?for, but quotes/backticks are needed

multiple blank lines...

 try({# requires working TeX installation:
  help(dgamma, help_type = pdf)
  ## - nicely formatted pdf -- including math formula -- for help
(dgamma):
  system2(getOption(pdfviewer), dgamma.pdf, wait = FALSE)
 })

multiple blank lines...

 help(package = splines) # get help even when package is not loaded

multiple blank lines...

 topi - women
 help(topi)

multiple blank lines...

 try(help(bs, try.all.packages = FALSE)) # reports not found (an 
error)
 help(bs, try.all.packages = TRUE)   # reports can be found
   # in package 'splines'

multiple blank lines...

 ## For programmatic use:
 topic - family; pkg_ref - stats
 help((topic), (pkg_ref))

multiple blank lines...

lines 70-92- (less prompt)

multiple blank lines...

 help(for) # or ?for, but quotes/backticks are needed

multiple blank lines...

 try({# requires working TeX installation:
  help(dgamma, help_type = pdf)
  ## - nicely formatted pdf -- including math formula -- for help
(dgamma):
  system2(getOption(pdfviewer), dgamma.pdf, wait = FALSE)
 })

multiple blank lines...

 help(package = splines) # get help even when package is not loaded

multiple blank lines...

 topi - women
 help(topi)

multiple blank lines...

 try(help(bs, try.all.packages = FALSE)) # reports not found (an 
error)
 help(bs, try.all.packages = TRUE)   # reports can be found
   # in package 'splines'

multiple blank lines...

 ## For programmatic use:
 topic - 

Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-0.7

2015-04-17 Thread Achim Gratz
Corinna Vinschen writes:
 New 2.0.0-0.7 test release:

 - Improved setfacl tool.  It now handles mask recomputation just like
   the Linux tool.  -d option renamed to -x (but -d is still accepted
   for backward compat).  New -n,--no-mask and --mask options.

setfacl -b -k still errors out instead of removing both the default
and extended ACL entries.

 The important change in this release is the POSIX permission handling
 change, a rewrite of the underlying routines reading and creating
 Windows ACLs following POSIX permission rules and POSIX ACL creating
 rules per POSIX 1003.1e draft 17, as on Linux.

I seem to have found another fly in that ointment (or rather cygport
did find it for me…):

While packaging a find usr/ -type f -executable would find newly
created info files that ls and getfacl agree are not executable:

-rw---+ 1 ASSI Kein 48880  5. Apr 2014  ucl.log
# file: ucl.log
# owner: ASSI
# group: Kein
user::rw-
group::---
group:SYSTEM:rwx#effective:---
group:Administratoren:rwx   #effective:---
mask:---
other:---

It seems that some of the code doesn't take the masking bits into
account just yet.  Here's the relevant portion of an strace on a
different file (I had already deleted the ACL on the original ones):

  215   43687 [main] find 2808 normalize_posix_path: src 
/mnt/share/maint/ucl.log
   23   43710 [main] find 2808 normalize_posix_path: /mnt/share/maint/ucl.log = 
normalize_posix_path (/mnt/share/maint/ucl.log)
   35   43745 [main] find 2808 mount_info::conv_to_win32_path: 
conv_to_win32_path (/mnt/share/maint/ucl.log)
   28   43773 [main] find 2808 set_flags: flags: binary (0x2)
   27   43800 [main] find 2808 mount_info::conv_to_win32_path: src_path 
/mnt/share/maint/ucl.log, dst D:\Freeware\CygShare\maint\ucl.log, flags 0x2, rc 0
   63   43863 [main] find 2808 symlink_info::check: 0x0 = NtCreateFile 
(\??\D:\Freeware\CygShare\maint\ucl.log)
   43   43906 [main] find 2808 symlink_info::check: not a symlink
   57   43963 [main] find 2808 symlink_info::check: 0 = 
symlink.check(D:\Freeware\CygShare\maint\ucl.log, 0x23B600) (0x42)
   24   43987 [main] find 2808 path_conv::check: 
this-path(D:\Freeware\CygShare\maint\ucl.log), has_acls(1)
   32   44019 [main] find 2808 build_fh_pc: fh 0x1802FEE38, dev 00C3
   22   44041 [main] find 2808 stat_worker: 
(\??\D:\Freeware\CygShare\maint\ucl.log, 0x60003B6E0, 0x1802FEE38), 
file_attributes 32
  125   44166 [main] find 2808 fhandler_base::fstat_helper: 0 = fstat 
(\??\D:\Freeware\CygShare\maint\ucl.log, 0x60003B6E0) st_size=48880, 
st_mode=0100600, st_ino=281474977000743st_atim=533FAD65.25D44958 
st_ctim=5531679B.D5E5E90 st_mtim=533FADD7.6CDF1E4 st_birthtim=533FAD65.25D44958
   27   44193 [main] find 2808 stat_worker: 0 = 
(\??\D:\Freeware\CygShare\maint\ucl.log,0x60003B6E0)
  226   44419 [main] find 2808 normalize_posix_path: src 
/mnt/share/maint/ucl.log
   23   2 [main] find 2808 normalize_posix_path: /mnt/share/maint/ucl.log = 
normalize_posix_path (/mnt/share/maint/ucl.log)
   21   44463 [main] find 2808 mount_info::conv_to_win32_path: 
conv_to_win32_path (/mnt/share/maint/ucl.log)
   25   44488 [main] find 2808 set_flags: flags: binary (0x2)
   19   44507 [main] find 2808 mount_info::conv_to_win32_path: src_path 
/mnt/share/maint/ucl.log, dst D:\Freeware\CygShare\maint\ucl.log, flags 0x2, rc 0
   86   44593 [main] find 2808 symlink_info::check: 0x0 = NtCreateFile 
(\??\D:\Freeware\CygShare\maint\ucl.log)
   34   44627 [main] find 2808 symlink_info::check: not a symlink
   21   44648 [main] find 2808 symlink_info::check: 0 = 
symlink.check(D:\Freeware\CygShare\maint\ucl.log, 0x23B530) (0x42)
   21   44669 [main] find 2808 path_conv::check: 
this-path(D:\Freeware\CygShare\maint\ucl.log), has_acls(1)
   38   44707 [main] find 2808 build_fh_pc: fh 0x1802FEE38, dev 00C3
  110   44817 [main] find 2808 check_file_access: flags 0x1, ret 0
   47   44864 [main] find 2808 fhandler_base::fhaccess: returning 0
   44   44908 [main] find 2808 faccessat: returning 0

With the ACL removed, the trace looks like this instead:

 277   46985 [main] find 3992 normalize_posix_path: src /mnt/share/maint/ucl.log
   29   47014 [main] find 3992 normalize_posix_path: /mnt/share/maint/ucl.log = 
normalize_posix_path (/mnt/share/maint/ucl.log)
   39   47053 [main] find 3992 mount_info::conv_to_win32_path: 
conv_to_win32_path (/mnt/share/maint/ucl.log)
   20   47073 [main] find 3992 set_flags: flags: binary (0x2)
   18   47091 [main] find 3992 mount_info::conv_to_win32_path: src_path 
/mnt/share/maint/ucl.log, dst D:\Freeware\CygShare\maint\ucl.log, flags 0x2, rc 0
   58   47149 [main] find 3992 symlink_info::check: 0x0 = NtCreateFile 
(\??\D:\Freeware\CygShare\maint\ucl.log)
   51   47200 [main] find 3992 symlink_info::check: not a symlink
   20   47220 [main] find 3992 symlink_info::check: 0 = 
symlink.check(D:\Freeware\CygShare\maint\ucl.log, 0x23B600) (0x42)
   23   47243 [main] find 3992 

readline behaves differently in R than in bash

2015-04-17 Thread paul
I set editing-mode vi in ~/.inputrc.  In bash, it responds as
expected to (say) dt,, which deletes characters upto the next comma.
It does not do this in R; instead, that series of keystrokes simply
causes the next two keystrokes to be consumed without any effect.  I
guess it would be wrong to assume that R uses the same readline
implementation as bash?  Is there anything I can set to get the
expected behaviour?

   64-bit Cygwin DLL version 1.7.28
   R version 3.0.1-1


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: [ANNOUNCEMENT] Updated: lilypond-2.19.18-2 [GOLDSTAR]

2015-04-17 Thread Yaakov Selkowitz
On Fri, 2015-04-17 at 06:13 +0200, Marco Atzeri wrote:
 Versions 2.19.18-2  of
  lilypond
  lilypond-doc
 
 for cygwin are now available:
 
 CYGWIN CHANGES
 Both architecture are now available using latest development
 (but more cygwin 32bit robust) release

Thanks for getting this working again.  Andrew, could you do the
honours?

--
Yaakov



--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



RE: less color option

2015-04-17 Thread Buchbinder, Barry (NIH/NIAID) [E]
Steven Penny sent the following at Friday, April 17, 2015 5:08 PM
man less

Reveals this
-Dxcolor or --color=xcolor
   [MS-DOS only] Sets the color of the text displayed.  x is a sin?
   gle character which selects the type  of  text  whose  color  is
   being  set: n=normal, s=standout, d=bold, u=underlined, k=blink.
   color is a pair of numbers separated by  a  period.   The  first
   number  selects  the foreground color and the second selects the
   background color of the text.  A single number N is the same  as
   N.M, where M is the normal background color.

So I tried it and get this result
$ less --color
There is no color option (less --help for help)

I just want a way to change the colors on man pages. If this is not the
right way please advise.

Just a guess:

The man page says [MS-DOS only].  Cygwin is not MS-DOS so I wouldn't
expect this to work with less compiled for cygwin.

If you were using the MS-DOS version, you would still need to specify
xcolor.

Hope that helps,

- Barry
  Disclaimer: Statements made herein are not made on behalf of NIAID.


MATE category ?

2015-04-17 Thread Marco Atzeri

Yaakov,
there are several device with MATE as category.

Are we going over the list defined in:
https://cygwin.com/setup.html

Regards
Marco


less color option

2015-04-17 Thread Steven Penny
man less

Reveals this

-Dxcolor or --color=xcolor
   [MS-DOS only] Sets the color of the text displayed.  x is a sin‐
   gle character which selects the type  of  text  whose  color  is
   being  set: n=normal, s=standout, d=bold, u=underlined, k=blink.
   color is a pair of numbers separated by  a  period.   The  first
   number  selects  the foreground color and the second selects the
   background color of the text.  A single number N is the same  as
   N.M, where M is the normal background color.

So I tried it and get this result

$ less --color
There is no color option (less --help for help)

I just want a way to change the colors on man pages. If this is not the right
way please advise.

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Updated: qt4-4.8.6-6, qt4-webkit-4.10.4-1

2015-04-17 Thread Yaakov Selkowitz
The following packages have been updated for the Cygwin distribution:

* libQt3Support4-4.8.6-6
* libQt3Support4-devel-4.8.6-6
* libQtCore4-4.8.6-6
* libQtCore4-devel-4.8.6-6
* libQtDBus4-4.8.6-6
* libQtDBus4-devel-4.8.6-6
* libQtDeclarative4-4.8.6-6
* libQtDeclarative4-devel-4.8.6-6
* libQtDesigner4-4.8.6-6
* libQtDesigner4-devel-4.8.6-6
* libQtGui4-4.8.6-6
* libQtGui4-devel-4.8.6-6
* libQtHelp4-4.8.6-6
* libQtHelp4-devel-4.8.6-6
* libQtMultimedia4-4.8.6-6
* libQtMultimedia4-devel-4.8.6-6
* libQtNetwork4-4.8.6-6
* libQtNetwork4-devel-4.8.6-6
* libQtOpenGL4-4.8.6-6
* libQtOpenGL4-devel-4.8.6-6
* libQtScript4-4.8.6-6
* libQtScript4-devel-4.8.6-6
* libQtSql4-4.8.6-6
* libQtSql4-devel-4.8.6-6
* libQtSvg4-4.8.6-6
* libQtSvg4-devel-4.8.6-6
* libQtTest4-4.8.6-6
* libQtTest4-devel-4.8.6-6
* libQtWebKit4-4.10.4-1
* libQtWebKit4-devel-4.10.4-1
* libQtXml4-4.8.6-6
* libQtXml4-devel-4.8.6-6
* libQtXmlPatterns4-4.8.6-6
* libQtXmlPatterns4-devel-4.8.6-6
* qt4-devel-tools-4.8.6-6
* qt4-designer-plugin-webkit-4.8.6-6
* qt4-doc-4.8.6-6
* qt4-qtconfig-4.8.6-6

Qt is a cross-platform application framework for desktop and embedde
development. Qt enables programmers to create advanced GUI applications
once and deploy them to Windows, Mac OS X and Linux without rewriting
the source code.

This release drops usage of the older QtWebKit bundled in the upstream
qt4 sources in favour of a newer standalone version from KDE.

--
Yaakov




[ANNOUNCEMENT] Updated: qt4-4.8.6-6, qt4-webkit-4.10.4-1

2015-04-17 Thread Yaakov Selkowitz
The following packages have been updated for the Cygwin distribution:

* libQt3Support4-4.8.6-6
* libQt3Support4-devel-4.8.6-6
* libQtCore4-4.8.6-6
* libQtCore4-devel-4.8.6-6
* libQtDBus4-4.8.6-6
* libQtDBus4-devel-4.8.6-6
* libQtDeclarative4-4.8.6-6
* libQtDeclarative4-devel-4.8.6-6
* libQtDesigner4-4.8.6-6
* libQtDesigner4-devel-4.8.6-6
* libQtGui4-4.8.6-6
* libQtGui4-devel-4.8.6-6
* libQtHelp4-4.8.6-6
* libQtHelp4-devel-4.8.6-6
* libQtMultimedia4-4.8.6-6
* libQtMultimedia4-devel-4.8.6-6
* libQtNetwork4-4.8.6-6
* libQtNetwork4-devel-4.8.6-6
* libQtOpenGL4-4.8.6-6
* libQtOpenGL4-devel-4.8.6-6
* libQtScript4-4.8.6-6
* libQtScript4-devel-4.8.6-6
* libQtSql4-4.8.6-6
* libQtSql4-devel-4.8.6-6
* libQtSvg4-4.8.6-6
* libQtSvg4-devel-4.8.6-6
* libQtTest4-4.8.6-6
* libQtTest4-devel-4.8.6-6
* libQtWebKit4-4.10.4-1
* libQtWebKit4-devel-4.10.4-1
* libQtXml4-4.8.6-6
* libQtXml4-devel-4.8.6-6
* libQtXmlPatterns4-4.8.6-6
* libQtXmlPatterns4-devel-4.8.6-6
* qt4-devel-tools-4.8.6-6
* qt4-designer-plugin-webkit-4.8.6-6
* qt4-doc-4.8.6-6
* qt4-qtconfig-4.8.6-6

Qt is a cross-platform application framework for desktop and embedde
development. Qt enables programmers to create advanced GUI applications
once and deploy them to Windows, Mac OS X and Linux without rewriting
the source code.

This release drops usage of the older QtWebKit bundled in the upstream
qt4 sources in favour of a newer standalone version from KDE.

--
Yaakov

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



[ANNOUNCEMENT] Updated: man-db-2.7.1-1

2015-04-17 Thread Yaakov Selkowitz
The following package has been updated in the Cygwin distribution:

* man-db-2.7.1-1

man-db is an implementation of the standard Unix documentation system
accessed using the man command. It uses an embedded database in place of
the traditional flat-text whatis databases.

This is an update to the latest upstream release.  The default
man_db.conf has been changed to support SECTIONs 0p, 1p, and 3p for
POSIX documentation.

--
Yaakov

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Updated: man-db-2.7.1-1

2015-04-17 Thread Yaakov Selkowitz
The following package has been updated in the Cygwin distribution:

* man-db-2.7.1-1

man-db is an implementation of the standard Unix documentation system
accessed using the man command. It uses an embedded database in place of
the traditional flat-text whatis databases.

This is an update to the latest upstream release.  The default
man_db.conf has been changed to support SECTIONs 0p, 1p, and 3p for
POSIX documentation.

--
Yaakov




Re: R help leaves out lines of text

2015-04-17 Thread Marco Atzeri



On 4/17/2015 8:57 PM, paul wrote:

Marco Atzeri marco.atzeri at gmail.com writes:

I am ramping up on the R statistical analysis environment.  I find
that the help leaves out entire lines of text.  The pager is
/usr/lib/R/bin/pager.  I changed it to /bin/less, but I see the
same symptom.  The problem shows up both in xterm and mintty.  The
computer is in a locked down environment, so a straight update of
cygwin packages is not an option.  From the R forum, the problem
might be due to improper handling of line endings by the R port to
cygwin.

Is there anything further I can try to circumvent the problem?

My version info is:

 64-bit Cygwin DLL version 1.7.28
 R version 3.0.1-1



Are the input files Unix style or DOS style ?
Can you give an example to replicate your finding ?

I can that test than if the last R-3.1.3-1 package behaves correctly
or not. R-3.0.1-1 package is almost 2 years old.


I can't actually find the help files;


the documentation is available as info files.

$ cygcheck -l R |grep info
/usr/share/info/R-admin.info.gz
/usr/share/info/R-data.info.gz
/usr/share/info/R-exts.info-1.gz
/usr/share/info/R-exts.info-2.gz
/usr/share/info/R-exts.info.gz
/usr/share/info/R-FAQ.info.gz
/usr/share/info/R-intro.info.gz
/usr/share/info/R-ints.info.gz
/usr/share/info/R-lang.info.gz

For what I can see the help data are also present.
The formatting could be better but I have no problem in reading.

If you are looking for a HTML browser help,
of course it is not configured.

Regards
Marco












--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: Running tasklist /m in cygwin hangs

2015-04-17 Thread Andrey Repin
Greetings, Marco Atzeri!

 I can confirm it still hangs for me with 1.7.35. I am using the 32 bit 
 (i686) Cygwin which is the only difference from Andrey's.


 on  $ uname -vrsm
 CYGWIN_NT-6.1-WOW 1.7.35(0.287/5/3) 2015-03-04 12:07 i686

 It is only a bit slow (both mintty and console)

 $ time tasklist /m normaliz.DLL

 Image Name PID Modules
 =  
 
 ZenworksWindowsService.ex 1424 normaliz.dll
 AppleMobileDeviceService. 1616 normaliz.dll
 explorer.exe  2520 normaliz.dll
 PanGPS.exe3276 normaliz.dll
 PanGPA.exe3420 normaliz.dll
 iTunesHelper.exe  3544 normaliz.dll
 Smc.exe   5008 normaliz.dll

 real1m25.565s

Oh... wow...

real0m0.088s

[x].[x]

 user0m0.015s
 sys 0m0.046s

 It seems some type of timeout in the interaction of this
 windows utility and cygwin

Was it native console or pty ?


-- 
With best regards,
Andrey Repin
Saturday, April 18, 2015 02:02:39

Sorry for my terrible english...


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



[ANNOUNCEMENT] New: qt5-webkit-5.3.2-2, qt5-webkit-examples-5.3.2-1

2015-04-17 Thread Yaakov Selkowitz
The following packages have been added to the Cygwin distribution:

* libQt5WebKit5-5.3.2-2
* libQt5WebKit-devel-5.3.2-2
* qt5-webkit-doc-5.3.2-2
* qt5-webkit-examples-5.3.2-1
* qt5-webkit-examples-doc-5.3.2-1

These releases add support for the WebKit component to Qt5.

--
Yaakov

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: readline behaves differently in R than in bash

2015-04-17 Thread Marco Atzeri

On 4/17/2015 10:28 PM, paul wrote:

I set editing-mode vi in ~/.inputrc.  In bash, it responds as
expected to (say) dt,, which deletes characters upto the next comma.
It does not do this in R; instead, that series of keystrokes simply
causes the next two keystrokes to be consumed without any effect.  I
guess it would be wrong to assume that R uses the same readline
implementation as bash?  Is there anything I can set to get the
expected behaviour?

64-bit Cygwin DLL version 1.7.28
R version 3.0.1-1



it works fine for me.

$ uname -svr
CYGWIN_NT-6.1-WOW 1.7.35(0.287/5/3) 2015-03-04 12:07

$ R --version
R version 3.1.3 (2015-03-09) -- Smooth Sidewalk

Regards
Marco



--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



New: qt5-webkit-5.3.2-2, qt5-webkit-examples-5.3.2-1

2015-04-17 Thread Yaakov Selkowitz
The following packages have been added to the Cygwin distribution:

* libQt5WebKit5-5.3.2-2
* libQt5WebKit-devel-5.3.2-2
* qt5-webkit-doc-5.3.2-2
* qt5-webkit-examples-5.3.2-1
* qt5-webkit-examples-doc-5.3.2-1

These releases add support for the WebKit component to Qt5.

--
Yaakov




Re: dig utility in bind-utils-9.9.7-1 returns no output

2015-04-17 Thread Andrey Repin
Greetings, Keith Christian!

 I'm sorry - I could be completely off-base here. What I meant was can you
 try running
 '/usr/bin/dig' (providing the full path to the application) rather than by
 just running 'dig'
 just in case there is some other 'dig' on your path (or shell aliases) which
 might be running
 rather than the actual /usr/bin/dig command.

 In previous messages, your examples were running 'dig' (without the full
 path) so it wasn't
 clear which dig you were actually getting.

 Thanks Mark, but I tried both of those early in my attempts without
 success.  Good suggestion, though.


 I updated Cygwin this morning, and now: dig works!  I have no idea why!

 cksum /usr/bin/dig /bin/dig reports the same checksums as before,
 and cygcheck dig produces the same output as before.

 Baffling.

I've seen similar effect, when Cygwin was going through implementation of some
specific POSIX calls, and export tables were bouncing around libs in the
snapshots.
But your claim that you've had Cygwin updated led the discussion sideways.
My bet was you've had Cygwin1.dll locked when updating and the update wasn't
completely successful.

 Thanks to all of you for the suggestions.

No problem.
However, please don't top-post in future.


-- 
With best regards,
Andrey Repin
Saturday, April 18, 2015 01:55:23

Sorry for my terrible english...


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: Running tasklist /m in cygwin hangs

2015-04-17 Thread Marco Atzeri

On 4/18/2015 1:05 AM, Andrey Repin wrote:

Greetings, Marco Atzeri!


I can confirm it still hangs for me with 1.7.35. I am using the 32 bit (i686) 
Cygwin which is the only difference from Andrey's.




on  $ uname -vrsm
CYGWIN_NT-6.1-WOW 1.7.35(0.287/5/3) 2015-03-04 12:07 i686



It is only a bit slow (both mintty and console)



$ time tasklist /m normaliz.DLL



Image Name PID Modules
= 

ZenworksWindowsService.ex 1424 normaliz.dll
AppleMobileDeviceService. 1616 normaliz.dll
explorer.exe  2520 normaliz.dll
PanGPS.exe3276 normaliz.dll
PanGPA.exe3420 normaliz.dll
iTunesHelper.exe  3544 normaliz.dll
Smc.exe   5008 normaliz.dll



real1m25.565s


Oh... wow...

real0m0.088s

[x].[x]


user0m0.015s
sys 0m0.046s



It seems some type of timeout in the interaction of this
windows utility and cygwin


Was it native console or pty ?



on 32bit cygwin on 64bit W7
cmd+bash and mintty+bash have the same long time.

As the effect is around 10 sec per line and tasklist.exe is looking
which process is using a certain dll, I presume that there is a negative
interactions (timeout, double sleep ?).

cmd alone or 64 bit cygwin has no delay effect.

However on 64bit you can compare

/cygdrive/c/windows/SysWOW64/tasklist.exe /m normaliz.dll
/cygdrive/c/windows/System32/tasklist.exe /m normaliz.dll

timing ;-)

Regards
Marco

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



issues seen in TEST RELEASE: Cygwin 2.0.0-0.7

2015-04-17 Thread random user
Hi again, Corinna.

I appreciate these recent changes, the more complete Posix ACL support
looks beneficial for sharing/syncing files between Cygwin and Linux
machines, and for more compatible scripting.

But I've noticed a few possibly-concerning items:

Item 1:

 - I introduced a change in chmod behaviour which is not exactly in
 line with POSIX 1003.1e draft 17:

This change looks to me to be somewhat dangerous.  I'm concerned it
may lead to granting privileges one doesn't expect to have granted.
And scripts leveraging this would behave noticeably differently on
Cygwin than they do on Linux, leading to extra time to debug/recode.

A simplistic example use case:

# Create scripts for some app, with group set to give httpd or some
# other application login user read and execute privs. For sake of
# brevity, here only showing one directory, but reality would likely
# be a tree of dirs and files.  At least to my sensibilities, having
# the primary group be httpd here makes sense in what I'd like to see
# in 'ls', and what I'd like 'find' to be able to find most easily,
# even tho httpd is intended to have fewer privileges than the
# developers group will be given at times on these dirs/files.

mkdir appdir
chgrp httpd appdir
chmod 750 appdir

ls -ald appdir
getfacl appdir

#  Give developers write access.

setfacl -m g:developers:rwx appdir

ls -ald appdir
getfacl appdir

# Production use period, try to prevent changes.

chmod ugo-w appdir

ls -ald appdir
getfacl appdir

# Development period: Reenable changes by local-machine developers -
# but did NOT intend to enable writes from the http daemon which may
# be up running other applications.  On Linux, remains 'group::r-x',
# only mask gets changed.

chmod g+w appdir

ls -ald appdir
getfacl appdir

---

Item 2:

I'm having troubles figuring out how to create a directory that plays
well both for providing old-style umask behavior and as a holder of
files created by non-Cygwin Windows apps.

Cygwin mkdir seems to create some to-be-inherited ACLs, even if the
parent directory has had 'setfacl -k' applied (and so it's clear these
aren't being inherited down, they seem newly added by mkdir or some
library call it makes):
  CREATOR OWNER:(OI)(CI)(IO)(F)
  CREATOR GROUP:(OI)(CI)(IO)(RX,W,DC)
  Everyone:(OI)(CI)(IO)(RX,W,DC)
(The actual permissions in these seem to vary based on the umask
setting and any inherited ACLs at time of directory creation.)
This seems existing behavior in Cygwin, still present in this
test drop.

What I seem to be seeing is that with these present, this test drop
appears to now be treating the directory as having extended ACLs (is
that the proper phrasing?), and so now will use these default: ACL
entries to create the permissions for a newly-created-by-Cygwin-app
file rather than using umask.  So even with umask = 0, I now get only
0700 on newly created files in a directory that itself has 0700,
rather than 0777 as I get on older Cygwin and on Linux.  (What I
actually get seems to vary based on the directory-creation-time umask,
or whatever ACLs the parent directory itself inherited via this
mechanism, as noted in prior paragraph's parenthetical.)

I can use 'setfacl -k .' to remove these, but then if I try to write a
file into the directory using a non-Cygwin program I end up with a
rather strange set of ACLs on it.  (I had in past remembered stuff
like CURRENT SESSION, but doing a test now using 'echo x  file'
under cmd I find I get my user(F), cyg_server(F), Administrators(F),
and SYSTEM(F) tho none of cyg_server, Administrators, nor SYSTEM are
present at all in the ACLs of the parent directory, and my user
isn't cyg_server.)  I suspect the desire to allow non-Cygwin apps to
sanely create files in a Cygwin-created directory is likely the reason
that mkdir is creating these ACL entries.

Would it maybe make sense for 'setfacl -k' to keep/recreate the same
base set of to-be-inherited ACLs that mkdir does, and for the
determination of whether to use umask vs. the default: ACLs to ignore
these?  Maybe for better cosmetics, for getfacl to not show these, nor
ls to show these cases only as causing a '+' to appear, so that a
newly-created directory with no ACLs inherited from above would appear
both visually and behaviorally as not using extended ACLs?

I note that chmod doesn't keep these to-be-inherited entries in sync
with the directory's mode; they seem stuck at their create-time values
unless changed explicitly with icacls.  (And am I right that these
can't be easily changed with setfacl, since the SIDs involved don't
have Cygwin user/group mappings?)  This seems true of both this test
drop and older Cygwin.  Intuitively this feels not-quite-right, but
seems a separable concern from the above and isn't a current change.

---

Item 3:

It seems to create rather messy/redundant ACLs if one tries to use
setfacl to adjust the owning user's privileges explicitly by user
name.  This is also seeming to be interacting with the Item 1 topic,

RE: Running tasklist /m in cygwin hangs

2015-04-17 Thread Saurabh T
I can confirm it still hangs for me with 1.7.35. I am using the 32 bit (i686) 
Cygwin which is the only difference from Andrey's.





 Date: Wed, 15 Apr 2015 22:15:57 +0300
 From: anrdae...@yandex.ru
 To: saur...@hotmail.com; cygwin@cygwin.com
 Subject: Re: Running tasklist /m in cygwin hangs

 Greetings, Saurabh T!

 Running
 tasklist /m file.dll hangs in Cygwin

 First, mintty (I assume you did mean that) is not Cygwin itself.

 even though it works perfectly fine in the cmd window.

 I hope you did mean native console by that.

 Is there any reason for this? I am using a
 somewhat older cygwin (1.7.25) on a Windows 7 box, and do not want to
 upgrade unless newer cygwin doesnt show the problem. Thank you.

 $ tasklist /m normaliz.DLL | iconv -f CP866

 Имя образа PID Модули
 =  
 
 taskhost.exe 3492 normaliz.DLL
 litestep.exe 2172 normaliz.DLL
 spideragent.exe 3336 normaliz.DLL

 Results are the same if running in mintty or native console.
 No hangs can be seen from my side.
 CYGWIN_NT-6.1 daemon2 1.7.35(0.287/5/3) 2015-03-04 12:09 x86_64 Cygwin
 CYGWIN_NT-6.1 daemon2 2.0.0(0.287/5/3) 2015-04-15 17:39 x86_64 Cygwin


 --
 With best regards,
 Andrey Repin
 Wednesday, April 15, 2015 22:07:13

 Sorry for my terrible english...
  
--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: NTSEC db_home

2015-04-17 Thread Corinna Vinschen
On Apr 17 10:07, Jim Reisert AD1C wrote:
 I'm having a little trouble with the db_home: setting at work
 (corporate network, not using /etc/passwd or /etc/group).  Regarding:
 
   https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch-home
 
 I tried db_home: /%H and although my MINTTY session started in the
 correct directory, ssh-keygen wanted to use the directory defined by
 HOMESHARE instead, which points somewhere else (a local Unix server).
 Note that both HOMEDRIVE (+HOMEPATH) and HOMESHARE ultimately point to
 the same place:
 
 DOS view of the world:
 
 c:\set | grep HOME
 HOME=C:\Home

Bzzz.

You seem to misinterpret what %H means.  It's the same thing as setting
db_home to the windows scheme.  Here's the relevant part from the docs:

  windows

The user's home directory is set to the same directory which is used
as Windows home directory. This is the homeDirectory AD attribute.
For SAM accounts, this is equivalent to the Home folder setting in
SAM. If both attributes are unset, Cygwin falls back to the user's
local profile directory, typically something along the lines of
C:\Users\$USERNAME. Of course, the Windows directory is converted to
POSIX-style by Cygwin. 

Check with `getent passwd $USER'.  Your home dir from the Cygwin POV 
is what *Windows* sets, not your personal $HOME setting from the
environment.  I bet you'll see //corp.ad.broadcom.com/DENA/home/reisert
in the getent output.

By setting $HOME to a directory different from your home dir in the
passwd entry, you're confusing your tools.  Some of them will happily
use $HOME, others will use the entry from the account DB (what getent
returns).

The bottom line is, don't do that.  You have enough configuration
methods in /etc/nsswitch.conf, AD, or SAM to set your home dir
correctly.  Setting $HOME manually to a differnet value is just
asking for trouble.


HTH,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpC2lIHF8vPa.pgp
Description: PGP signature


Re: Running tasklist /m in cygwin hangs

2015-04-17 Thread Bryan Berns
On Wed, Apr 15, 2015 at 1:52 PM, Saurabh T saur...@hotmail.com wrote:
 Hi,
 Running
  tasklist /m file.dll hangs in Cygwin even though it works perfectly
 fine in the cmd window. Is there any reason for this? I am using a
 somewhat older cygwin (1.7.25) on a Windows 7 box, and do not want to
 upgrade unless newer cygwin doesnt show the problem. Thank you.
 --
 Problem reports:   http://cygwin.com/problems.html
 FAQ:   http://cygwin.com/faq/
 Documentation: http://cygwin.com/docs.html
 Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple


It doesn't hang for me, but it is significantly slower.  I'm running
the latest development release.  Tasklist appears to be WMI heavy.  I
ran Process Monitor and it appears that when running tasklist /m under
bash, WMI is significantly more active.  WMI actually opens tzres.dll
(Time Zone Resources) about 150,000 times vice a mere 800 times when
executing through a standard command prompt.  Moreover, WMI really
doesn't appear to be doing much of anything with tzres.dll... just
open/close/open/close/open/close.  Very curious indeed.

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: MATE category ?

2015-04-17 Thread Michael DePaulo
On Fri, Apr 17, 2015 at 5:57 PM, Marco Atzeri marco.atz...@gmail.com wrote:
 Yaakov,
 there are several device with MATE as category.

 Are we going over the list defined in:
 https://cygwin.com/setup.html

 Regards
 Marco

There are also dozens of packages spread out over these categories
that don't exist on that list either:
KDE
LXDE
Xfce

IMHO, all 4 categories should be made official. Lots of Linux distros
use them as categories. The alternative is to put things like window
managers and mate-settings-daemon under X11.

-Mike