From noreply at rubyforge.org Thu Dec 1 08:25:39 2005 From: noreply at rubyforge.org (noreply@rubyforge.org) Date: Thu, 1 Dec 2005 08:25:39 -0500 Subject: [Win32utils-devel] [ win32utils-Bugs-2918 ] docs and samples are always installed in c:/ruby/ Message-ID: <200512011325.jB1DPdte012929@rubyforge.org> Bugs item #2918, was opened at 2005-12-01 08:25 You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=411&aid=2918&group_id=85 Category: None Group: None Status: Open Resolution: None Priority: 3 Submitted By: Nobody (None) Assigned to: Nobody (None) Summary: docs and samples are always installed in c:/ruby/ Initial Comment: Hi, Using the installer, when specifying a different directory to install, the win32utils files are installed in the requested place, but the documentation and samples always end up in c:/ruby/. Thanks, Cristi BALAN ---------------------------------------------------------------------- You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=411&aid=2918&group_id=85 From noreply at rubyforge.org Thu Dec 1 10:19:08 2005 From: noreply at rubyforge.org (noreply@rubyforge.org) Date: Thu, 1 Dec 2005 08:19:08 -0700 Subject: [Win32utils-devel] [ win32utils-Bugs-2918 ] docs and samples are always installed in c:/ruby/ Message-ID: <200512011519.jB1FJ81n017136@rubyforge.org> Bugs item #2918, was opened at 2005-12-01 06:25 You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=411&aid=2918&group_id=85 Category: None >Group: Documentation Status: Open Resolution: None Priority: 3 Submitted By: Nobody (None) >Assigned to: Shashank Date (shashank) Summary: docs and samples are always installed in c:/ruby/ Initial Comment: Hi, Using the installer, when specifying a different directory to install, the win32utils files are installed in the requested place, but the documentation and samples always end up in c:/ruby/. Thanks, Cristi BALAN ---------------------------------------------------------------------- You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=411&aid=2918&group_id=85 From djberg96 at gmail.com Thu Dec 1 10:59:31 2005 From: djberg96 at gmail.com (Daniel Berger) Date: Thu, 01 Dec 2005 08:59:31 -0700 Subject: [Win32utils-devel] service_cli.rb In-Reply-To: <001601c5f622$21915220$6501a8c0@sh4> References: <001601c5f622$21915220$6501a8c0@sh4> Message-ID: <438F1DE3.5070804@gmail.com> Stephen Haberman wrote: > Hi, > > I just got done using win32/service to run a very small/hack-ish "Riki" > WEBrick service. Very cool stuff. Thanks. > > So, in the process, I noticed a lot of the "control" start/install/etc. > command line parser stuff looked a bit boilerplate, so I pulled it out into > a helper function "service_cli" (for lack of a better name). > > Its simple, but it allows me to do away with a Riki-specific control script. > So I can just do: > > riki.rb: > ---- > > $LOAD_PATH.unshift File.dirname(__FILE__) > require 'service_cli' > > class RikiDaemon < Win32::Daemon > def self.setup(s) > s.binary_path_name = "ruby #{__FILE__} --service" > end > ...service_main/service_stop... > end > > service_cli('Riki', RikiDaemon) > > ---- > > So now the "control" and "daemon" functions are both handled from the same > generic script (I added an odd but effective command line parameter of > --service which means its getting started by win32 and should call > daemon_class.new.mainloop). > > And now "service_cli.rb" is just generic code I could potentially reuse > across other services. > > So, I dunno, perhaps this is too simple or utility-ish, but it has the > potential to remove ~50 lines of boilerplate control/command line code, so I > thought maybe I'd send it in and see if it was interesting enough to include > in the distribution. > > (Also, I apologize if you're getting this twice, but I sent this about a > week ago but from an email address other than the one I signed up to the > list for, so it likely did not go through. Since then, I have added a > -a/--standalone flag for easily starting the service_main/service_stop for > debugging purposes and thought I'd submit it again.) > > Thanks, > Stephen Thanks Stephen, appreciated. I don't know if I'll include it in the distribution, but I'll post it somewhere on the project page. Regards, Dan From Daniel.Berger at qwest.com Sun Dec 4 00:46:12 2005 From: Daniel.Berger at qwest.com (Berger, Daniel) Date: Sat, 3 Dec 2005 23:46:12 -0600 Subject: [Win32utils-devel] [ win32utils-Bugs-2918 ] docs and samples arealways installed in c:/ruby/ Message-ID: <39AA6550E5AA554AB1456707D6E5563D0DAC39@QTOMAE2K3M01.AD.QINTRA.COM> Shanko, I've assigned this one to you. :) - Dan ________________________________ From: win32utils-devel-bounces at rubyforge.org on behalf of noreply at rubyforge.org Sent: Thu 12/1/2005 7:25 AM To: noreply at rubyforge.org Subject: [Win32utils-devel] [ win32utils-Bugs-2918 ] docs and samples arealways installed in c:/ruby/ Bugs item #2918, was opened at 2005-12-01 08:25 You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=411&aid=2918&group_id=85 Category: None Group: None Status: Open Resolution: None Priority: 3 Submitted By: Nobody (None) Assigned to: Nobody (None) Summary: docs and samples are always installed in c:/ruby/ Initial Comment: Hi, Using the installer, when specifying a different directory to install, the win32utils files are installed in the requested place, but the documentation and samples always end up in c:/ruby/. Thanks, Cristi BALAN ---------------------------------------------------------------------- You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=411&aid=2918&group_id=85 _______________________________________________ win32utils-devel mailing list win32utils-devel at rubyforge.org http://rubyforge.org/mailman/listinfo/win32utils-devel From djberg96 at yahoo.com Sat Dec 10 14:39:46 2005 From: djberg96 at yahoo.com (Daniel Berger) Date: Sat, 10 Dec 2005 11:39:46 -0800 (PST) Subject: [Win32utils-devel] win32 service In-Reply-To: <439B2A70.4000503@powernav.com> Message-ID: <20051210193946.44977.qmail@web50312.mail.yahoo.com> Hi Ernest, I'm cc'ing the win32utils-devel mailing list in case anyone has any ideas. --- Ernest Ellingson wrote: > Daniel Berger wrote: > > >Hi Ernest, > > > >Me again. I just realized that it's just a bug in > my > >documentation (duh). You can pass arguments to the > >Service.start method. I'll update the docs. > Anyway, > >here's the relevant documentation: > > > >Service.start(service, host=nil, *args) > > > > Starts the specified service on host, or the > local > >machine if no host is specified. Any +args+ passed > >here are passed as start parameters to the service. > > > >If you're interested in where that's happening in > the > >C code, take a look at rbArgs and > lpServiceArgVectors > >in the service_start() function. > > > >Regards, > > > >Dan > > > >--- Ernest Ellingson wrote: > > > > > > > >>Hi dan: > >> I've been examining methods to create a secure > >>(proxy or proxies) > >>using ssh on windows machines. I've looked into > >>net::ssh for ruby but I > >>run into some threading issues, I haven't been > able > >>to decipher exactly > >>where these issues occur for a number of reasons. > I > >>have turned to > >>using plink.exe (comes with putty.exe) I can > create > >>a secure link with > >>a linux box running ssh and squid. I then point > my > >>browser at the port > >>plink is listening on and voila, I have a secure > >>tunnel to a proxy. > >> > >> I want to run plink.exe (I'll have to run > >>several instances of > >>plink, one for web, one for email, one for IM) as > a > >>service (as > >>services). One of the things I have to do is set > >>start up parameters on > >>the service. After looking at the text file and > at > >>the c code (I'm not > >>a very good c programmer) I see at least in the c > >>code the possibility > >>of passing in start parameters. However the text > >>file doesn't seem o > >>provide for this in Service.start("service_name"). > > >>How does one pass in > >>the start up parameters? > >> > >>Thanks in advance > >> > >>Ernie > >> > >> > >> > > > > > >__________________________________________________ > >Do You Yahoo!? > >Tired of spam? Yahoo! Mail has the best spam > protection around > >http://mail.yahoo.com > > > > > Thanks for the response. > I still can't get things operating properly with > win32service. > I have been able to get plink.exe running as a > service with winserv.exe > Here is the command line for setting up the service > using winserve.exe > > winserv install secureWebProxy -displayname "Secure > Web Proxy" > -description "Tunnel through min.powernav.com proxy" > -user PWRNAV\erne > -password mypword c:\rubyscripts\ssh\plink.exe > 192.168.100.3 -i > c:\rubyscripts\ssh\private_rsa.key -l ellingson -ssh > -L > 8080:192.168.100.3:3128 -N -T Hm, well, I'm not really familiar with winserv. > Notice I'm not running under the system account. I'm > running as myself > qualified with a domain name. > > I can't seem to get win32service to work with > start_name="PWRNAV\\erne". I'm not sure what you mean here. Do you mean the '-user PWRNAV\erne' switch is causing the problem? Otherwise, I'm not sure where you would be using 'start_name' to start a service. > I can get it to accept start_name="erne". However, > win32 reports that > this user isn't known and since I'm on a domain, > that's correct. > > When I create the service then manually change the > log on to PWRNAV\erne > in the control panel and try starting the service > with. > > Service.start("secureWebProxy",nil,"192.168.100.3 -i > > c:\\rubyscripts\\ssh\private_rsa.key -l ellingson > -ssh -L 8080:192. > 168.100.3:3128 -N -T") > > The service fails to start even though the start up > parameters are the > same as I have for winserv. exe. > > I'm not sure, that an any executable can be > installed as a service with > win32service. Nothing is wrapping the executable so > that it will > respond to a start or stop signal. I'm not even > sure I'm right about that. > > Ernie We'll see if anyone on the list has any insight as I don't think I entirely follow. Regards, Dan __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From djberg96 at gmail.com Sat Dec 10 16:32:22 2005 From: djberg96 at gmail.com (Daniel Berger) Date: Sat, 10 Dec 2005 14:32:22 -0700 Subject: [Win32utils-devel] win32 service In-Reply-To: <20051210193946.44977.qmail@web50312.mail.yahoo.com> References: <20051210193946.44977.qmail@web50312.mail.yahoo.com> Message-ID: <439B4966.1020209@gmail.com> Daniel Berger wrote: >>Notice I'm not running under the system account. I'm >>running as myself >>qualified with a domain name. >> >>I can't seem to get win32service to work with >>start_name="PWRNAV\\erne". >> >> > >I'm not sure what you mean here. Do you mean the >'-user PWRNAV\erne' switch is causing the problem? >Otherwise, I'm not sure where you would be using >'start_name' to start a service. > > Alright, I think I've distilled this down to the fact that he's having a hard time with Service#configure: serv = Service.new # This fails serv.configure_service{ |s| s.service_name = "WebrickSvc" s.start_name = "NT AUTHORITY\\LocalService" } # This works fine serv.configure_service{ |s| s.service_name = "WebrickSvc" s.start_name = "LocalSystem" } Does the former require a password? I read the docs on lpServiceStartName in ChangeServiceConfig(), but no luck.// Regards, Dan From stephen at exigencecorp.com Wed Dec 21 02:10:38 2005 From: stephen at exigencecorp.com (Stephen Haberman) Date: Wed, 21 Dec 2005 01:10:38 -0600 Subject: [Win32utils-devel] question about changejournal Message-ID: <000001c605fd$a64321c0$6501a8c0@sh4> Hi, I've got a newbie question--sorry if this is covered elsewhere, I parsed through the archives for awhile and didn't see it. I'd like to listen for whenever a file is renamed (e.g. foo.txt -> foo.old) and then magically change it back. This sounds odd, but I'm working with a stubborn application and this will actually make things work nice. So, if I do: cj = Win32::ChangeJournal.new('c:\\') cj.wait do |array| ... end Everything works great, except for: a) info.file_name isn't the full path--is there a way to tell what directory it is in? E.g. after getting the event, I'd like to go read in the file. b) cj.wait returns after calling my block--I'd like my block to be called for everything rename event, e.g. just sit there and keep listening. I figure I could just do my processing and then call cj.wait again, but will I miss renames while I'm doing my processing? E.g.: cj executes my block My block starts Someone renames My block ends I call cj.wait with my block as the param again Will cj.wait "remember" that "Someone renames" happened while I was off doing other processing and not blocking on it? Also, if it seems like I'm abusing changejournal for something it shouldn't be used for, please let me know. Thanks, Stephen From Daniel.Berger at qwest.com Wed Dec 21 12:07:19 2005 From: Daniel.Berger at qwest.com (Berger, Daniel) Date: Wed, 21 Dec 2005 11:07:19 -0600 Subject: [Win32utils-devel] question about changejournal Message-ID: <39AA6550E5AA554AB1456707D6E5563DBCFD8A@QTOMAE2K3M01.AD.QINTRA.COM> > -----Original Message----- > From: win32utils-devel-bounces at rubyforge.org > [mailto:win32utils-devel-bounces at rubyforge.org] On Behalf Of > Stephen Haberman > Sent: Wednesday, December 21, 2005 12:11 AM > To: win32utils-devel at rubyforge.org > Subject: [Win32utils-devel] question about changejournal > > > Hi, > > I've got a newbie question--sorry if this is covered > elsewhere, I parsed through the archives for awhile and didn't see it. > > I'd like to listen for whenever a file is renamed (e.g. > foo.txt -> foo.old) and then magically change it back. This > sounds odd, but I'm working with a stubborn application and > this will actually make things work nice. > > So, if I do: > > cj = Win32::ChangeJournal.new('c:\\') > cj.wait do |array| ... end > > Everything works great, except for: > > a) info.file_name isn't the full path--is there a way to tell > what directory it is in? E.g. after getting the event, I'd > like to go read in the file. It's not possible for you currently to get the full path name atm. I'm not sure if it's possible at all based on the USN_RECORD docs, but I'll try one or two things. Heesob, if you have any ideas on this, I'm listening. > b) cj.wait returns after calling my block--I'd like my block > to be called for everything rename event, e.g. just sit there > and keep listening. I figure I could just do my processing > and then call cj.wait again, but will I miss renames while > I'm doing my processing? You can just use 'while true' at the end of the block, e.g. cj = ChangeJournal.new("C:\\") cj.wait{ |array| array.each{ |info| p info.action info.file_name } } while true Voila! Your own changejournal server! BTW, it's alright that you posted here, but for general help questions I prefer that folks use the 'help' link on the RubyForge project page. Regards, Dan From Daniel.Berger at qwest.com Wed Dec 21 12:34:03 2005 From: Daniel.Berger at qwest.com (Berger, Daniel) Date: Wed, 21 Dec 2005 11:34:03 -0600 Subject: [Win32utils-devel] question about changejournal Message-ID: <39AA6550E5AA554AB1456707D6E5563DBCFD8C@QTOMAE2K3M01.AD.QINTRA.COM> > -----Original Message----- > From: win32utils-devel-bounces at rubyforge.org > [mailto:win32utils-devel-bounces at rubyforge.org] On Behalf Of > Berger, Daniel > Sent: Wednesday, December 21, 2005 10:07 AM > To: Development and ideas for win32utils projects > Subject: Re: [Win32utils-devel] question about changejournal > > a) info.file_name isn't the full path--is there a way to tell > > what directory it is in? E.g. after getting the event, I'd > > like to go read in the file. > > It's not possible for you currently to get the full path name > atm. I'm not sure if it's possible at all based on the > USN_RECORD docs, but I'll try one or two things. Heesob, if > you have any ideas on this, I'm listening. I tried experimenting with GetFullPathName() on the file within get_file_action (in changejournal.h), but that only seems to return the current directory as the base, instead of the actual path. Any ideas? Regards, Dan From Daniel.Berger at qwest.com Wed Dec 21 12:48:02 2005 From: Daniel.Berger at qwest.com (Berger, Daniel) Date: Wed, 21 Dec 2005 11:48:02 -0600 Subject: [Win32utils-devel] question about changejournal Message-ID: <39AA6550E5AA554AB1456707D6E5563DBCFD8E@QTOMAE2K3M01.AD.QINTRA.COM> > -----Original Message----- > From: win32utils-devel-bounces at rubyforge.org > [mailto:win32utils-devel-bounces at rubyforge.org] On Behalf Of > Berger, Daniel > Sent: Wednesday, December 21, 2005 10:34 AM > To: Development and ideas for win32utils projects > Subject: Re: [Win32utils-devel] question about changejournal > > > > -----Original Message----- > > From: win32utils-devel-bounces at rubyforge.org > > [mailto:win32utils-devel-bounces at rubyforge.org] On Behalf Of > > Berger, Daniel > > Sent: Wednesday, December 21, 2005 10:07 AM > > To: Development and ideas for win32utils projects > > Subject: Re: [Win32utils-devel] question about changejournal > > > > > > a) info.file_name isn't the full path--is there a way to > tell what > > > directory it is in? E.g. after getting the event, I'd like to go > > > read in the file. > > > > It's not possible for you currently to get the full path name > > atm. I'm not sure if it's possible at all based on the > > USN_RECORD docs, but I'll try one or two things. Heesob, if > > you have any ideas on this, I'm listening. > > I tried experimenting with GetFullPathName() on the file > within get_file_action (in changejournal.h), but that only > seems to return the current directory as the base, instead of > the actual path. > > Any ideas? Hm, I did find this article: http://www.microsoft.com/msj/0999/journal/journal.aspx I won't have time to implement this until next year. Heesob, go ahead and commit any patches if you know how to handle this. I'll be on vacation starting tomorrow and coming back December 29th. Dan PS - Hm...I seem to recall this topic coming up before for some reason. Am I forgetting something? From stephen at exigencecorp.com Wed Dec 21 22:20:47 2005 From: stephen at exigencecorp.com (Stephen Haberman) Date: Wed, 21 Dec 2005 21:20:47 -0600 Subject: [Win32utils-devel] question about changejournal In-Reply-To: <39AA6550E5AA554AB1456707D6E5563DBCFD8A@QTOMAE2K3M01.AD.QINTRA.COM> Message-ID: <002301c606a6$b48ee800$e300a8c0@sh4> > You can just use 'while true' at the end of the block, e.g. > > cj = ChangeJournal.new("C:\\") > > cj.wait{ |array| > array.each{ |info| > p info.action > info.file_name > } > } while true > > Voila! Your own changejournal server! Very spiffy. Thanks for the tip. That "while true" is good stuff. Next time you update the changejournal docs, you might think of including that snippet, as I imagine other users might have the same question I did. > BTW, it's alright that you posted here, but for general help > questions I prefer that folks use the 'help' link on the > RubyForge project page. Ah, gotcha--being a mailing list junky, I didn't even think of looking for forums, but I'll remember that for future reference. As far as the full path, it looks like our vendor is being super-responsive and so we don't need our rename hack anymore. Which is good, I suppose, though it was going to be a great excuse to show off a Ruby and its win32 support (e.g. a 20 line win32 service+file watcher compared to the more "verbose" Java/C# solutions), to the other devs in our shop. Maybe next time. :-) Thanks, Stephen From phasis at nownuri.net Thu Dec 22 06:46:02 2005 From: phasis at nownuri.net (Park Heesob) Date: Thu, 22 Dec 2005 20:46:02 +0900 Subject: [Win32utils-devel] question about changejournal References: <39AA6550E5AA554AB1456707D6E5563DBCFD8E@QTOMAE2K3M01.AD.QINTRA.COM> Message-ID: <00f701c606ed$48eff8e0$f40d5bd2@2xnm9896kmqn5b9> Hi, ----- Original Message ----- From: "Berger, Daniel" To: "Development and ideas for win32utils projects" Sent: Thursday, December 22, 2005 2:48 AM Subject: Re: [Win32utils-devel] question about changejournal > > >> -----Original Message----- >> From: win32utils-devel-bounces at rubyforge.org >> [mailto:win32utils-devel-bounces at rubyforge.org] On Behalf Of >> Berger, Daniel >> Sent: Wednesday, December 21, 2005 10:34 AM >> To: Development and ideas for win32utils projects >> Subject: Re: [Win32utils-devel] question about changejournal >> >> >> > -----Original Message----- >> > From: win32utils-devel-bounces at rubyforge.org >> > [mailto:win32utils-devel-bounces at rubyforge.org] On Behalf Of >> > Berger, Daniel >> > Sent: Wednesday, December 21, 2005 10:07 AM >> > To: Development and ideas for win32utils projects >> > Subject: Re: [Win32utils-devel] question about changejournal >> >> >> >> > > a) info.file_name isn't the full path--is there a way to >> tell what >> > > directory it is in? E.g. after getting the event, I'd like to go >> > > read in the file. >> > >> > It's not possible for you currently to get the full path name >> > atm. I'm not sure if it's possible at all based on the >> > USN_RECORD docs, but I'll try one or two things. Heesob, if >> > you have any ideas on this, I'm listening. >> >> I tried experimenting with GetFullPathName() on the file >> within get_file_action (in changejournal.h), but that only >> seems to return the current directory as the base, instead of >> the actual path. >> >> Any ideas? > > Hm, I did find this article: > > http://www.microsoft.com/msj/0999/journal/journal.aspx > > I won't have time to implement this until next year. Heesob, go ahead > and commit any patches if you know how to handle this. I'll be on > vacation starting tomorrow and coming back December 29th. > > Dan > > PS - Hm...I seem to recall this topic coming up before for some reason. > Am I forgetting something? > I did find this article a long time ago: http://www.microsoft.com/msj/1099/journal2/journal2.aspx "As we mentioned last month, there is no easy way to take an FRN and convert it to a full path. If you want to do this, your applications must keep an internal database of all directories (not all files) on a volume and their FRNs. (Yes, this is a lot of extra code you'll have to write, but we'll explain the benefit of doing this at the end of this section.) It is up to you to implement the database functionality. We'll show you how to populate the database, use it to get the full path from a journal record, and how to keep it up to date while your application is running. " I know what to do. I have the working C source code. Only I need is some free time to port it. Dan, I'll try to implement it until your coming back :) I wish you have good vacations! Park Heesob From phasis at nownuri.net Mon Dec 26 19:54:29 2005 From: phasis at nownuri.net (Park Heesob) Date: Tue, 27 Dec 2005 09:54:29 +0900 Subject: [Win32utils-devel] question about changejournal References: <39AA6550E5AA554AB1456707D6E5563DBCFD8E@QTOMAE2K3M01.AD.QINTRA.COM> Message-ID: <005e01c60a80$17ed30f0$ef0d5bd2@2xnm9896kmqn5b9> Hi, Finally I implemented the fullpath support for changejournal. Now you can get path info like this: rv = cj.wait(30){ |ss| ss.each { |s| puts "Something changed" puts "File: " + s.file_name puts "Action: " + s.action puts "Path : " + s.path } } Regards, Park Heesob begin 666 changejournal.h M(V1E9FEN92!724XS,E]#2$%.1T5*3U523D%,7U9%4E-)3TX@(C N,BXP(@T* M(V1E9FEN92!-05A?4U1224Y'(#$P,C0-"@T*PT*(" @5$-(05(@(&-$6YC.R @ M(" @("\O($%S>6YC(&AA;F1L92!T;R!V;VQU;64-"B @($]615),05!0140@ M;T-*07-Y;F,[(" @(" @+R\@;W9E3L@(" @(" @ M+R\@9&5L87D at 8F5F;W)E('-E;F1I;F<@;F]T:69I8V%T:6]N#0I].PT*#0IT M>7!E9&5F('-T2!D:7)E8W1O#$P,# P73L-"B @($173U)$3$].1R!F;DQAD9I;&5; M34%87U!!5$A=.PT*(" @:6YT(&-&:6QE3F%M93L-"B @($173U)$3$].1R!& M4DX[#0H@("!$5T]21$Q/3D<@4$923CL-"B @(%9!3%5%(')B1E).+')B4$92 M3BQR8E!A=&@[#0H@("!604Q512!R8D%R2AP M='(L)G5J9"D[#0H-"B @("\O($=E="!T:&4 at 1E).(&]F('1H92!R;V]T(&1I M0T*(" @+R\@5&AI71H:6YG#0H@("!WE)O;W0L(%1%6%0H(B5C M.EQ<(BDL('!T%)O;W0@/2 H*"A$5T]21$Q/3DE)O;W0L(%1%6%0H(B5C.B(I+"!P='(M/F-$5]N97E)O;W0L,BDL54Q,,DY532A01E). M*2DI.PT*#0H@("!M960N4W1APT*(" @(" @4%533E]214-/4D0@<%)E8V]R9" ]("A055-.7U)%0T]21"D@ M)G!$871A6W-I>F5O9BA54TXI73L-"@T*(" @(" @=VAI;&4@*"A00EE412D@ M<%)E8V]R9" \("AP1&%T82 K(&-B*2D@>PT*(" @(" @(" @:68@*# @(3T@ M*'!296-O2AS>D9I;&4L('!S>D9I;&5.86UE+"!C1FEL94YA;64I.PT*"2 @(" @ M(" @E)O;W0L#0H)"2 @(" @(" @("!- M05A?4$%42"P-"@D)(" @(" @(" @($Y53$PL#0H)"2 @(" @(" @("!.54Q, M#0H)"2 @(" @(" I.PT*(" @(" @(" @"7)B7VAA2!S=')U8W0-"G-T871I8R!604Q512!G M971?9FEL95]A8W1I;VXH0VAA;F=E2F]U2P@D9I;&5.86UE.PT*(" @:6YT(&-&:6QE M3F%M93L-"B @($173U)$3$].1R!&4DX[#0H@("!$5T]21$Q/3D<@4$923CL- M"B @(%9!3%5%(')B4&%T:$1"(#T@:%!A=&A$0CL-"@T*(" @2 ] M(')B7V%R>5]N97D9I;&5;8T9I;&5.86UE72 ](# [#0H-"B @(" @(" O+R!)9B!T:&ES M(&ES(&$@8VQO2P@=V4@;6%Y(&YE M960@=&\@861J=7-T#0H@(" @(" @+R\@;W5R(&1I2!D871A8F%S M90T*#0H@(" @(" @:68@*" @(# @(3T@*'!TPT*(" @(" @(" @( D@PT*(" @(" @(" @:68HE)E87-O;BD^,"D@ MPT*(" @(" @(" @:68HPT*(" @(" @(" @:68HE)E87-O;BD^,"D@PT*(" @(" @(" @ M:68HE)E87-O;BD^,"D@E)E M87-O;BD^,"D@E)E87-O;BD^,"D@7!T:6]N7V-H86YG92(I M.PT*(" @(" @('T-"B @(" @("!I9BAP='(M/G!5E)E87-O M;BD^,"D@E)E M87-O;BD^,"D@5]N M975]U;G-H:69T*')B4&%T:$%R M5]P=7-H*')B07)R87DL3L-"GT-"@T*+R\@4F5T=7)N(&%N M(&5R2YH(@T*(VEN8VQU9&4@/'=I;F1O=W,N:#X-"B-I;F-L M=61E(#QW:6YI;V-T;"YH/@T*(VEN8VQU9&4@(F-H86YG96IO=7)N86PN:"(- M"@T*#0IV;VED($EN:71I86QZ949O6YC24\I('L-"@T*(" @+R\@5&AI M2!T:&4 at 8T1R:79E3&5T M=&5R('!AE9O;'5M95!A=&@L(&1W06-C97-S+ T*(" @(" @ M1DE,15]32$%215]214%$('P at 1DE,15]32$%215]74DE412P at 3E5,3"P at 3U!% M3E]%6$E35$E.1RP-"B @(" @("AF07-Y;F-)3R _($9)3$5?1DQ!1U]/5D52 M3$%04$5$(#H@,"DL($Y53$PI.PT*(" @F4L($173U)$3$].1R!!;&QO8V%T:6]N1&5L=&$I('L-"@T*(" @ M+R\@5&AI0T*(" @+R\@97AI&EM=6U3:7IE(&%N9"!!;&QO M8V%T:6]N1&5L=&$-"B @("\O('!A&EM=6U3:7IE(#T at 36%X M:6UU;5-I>F4[#0H@("!C=6ID+D%L;&]C871I;VY$96QT82 ]($%L;&]C871I M;VY$96QT83L-"B @(&9/:R ]($1E=FEC94EO0V]N=')O;"AP='(M/FA#2BP@ M1E-#5$Q?0U)%051%7U533E]*3U523D%,+ T*(" @(" @)F-U:F0L('-I>F5O M9BAC=6ID*2P at 3E5,3"P@,"P@)F-B+"!.54Q,*3L-"B @(')E='5R;BAF3VLI M.PT*?0T*#0H-"B\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O M+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\O+R\- M"@T*#0I"3T],($1E;&5T92A#:&%N9V5*;W5R;F%L4W1R=6-T("IP='(L1%=/ M4D1,3TY'(%5S;DIO=7)N86Q)1"P at 1%=/4D0 at 1&5L971E1FQA9W,I('L-"@T* M(" @+R\@268 at 1&5L971E1FQA9W,@PT*#0H@(" O+R!2971U MF5O9B at J<%5S M;DIO=7)N86Q$871A*2P@)F-B+"!.54Q,*3L-"@T*(" @4]N0VQOF5R;R!T;R!S=&%R="!R96%D:6YG#0H@(" O M+R!A="!T:&4@71EF5R;RDN(%1H:7, at 9G5N8W1I;VX@ M=VEL;"!A;'-O(')E='5R;@T*(" @+R\@3E5,3"!I9B!T:&5R92!I4UO'0@0T*(" @:68@*" @("A.54Q,(#T]('!TF5O9BAP='(M/G)U:F0I+"!P M='(M/G!B0TI$871A+ T*(" @(" @(" @2&5A<%-I>F4H1V5T4')O8V5S'0@=7-N)R!I;G1O(&U?71E M2AP='(L)G5J9"D[#0H) M($1E;&5T92AP='(L=6ID+E5S;DIO=7)N86Q)1"P at 55-.7T1%3$5415]&3$%' M7T1%3$5412D[#0H-"B @("\O($-L96%N=7 @=&AE(&UE;6]R>2!A;F0@:&%N M9&QE71EF5N M(&IO=7)N86P@6YC:')O;F]UPT*"0D)"4-L96%N57 H<'1R*3L-"@D)"0ER971U'0H:'=N9$]U M="P@(%1%6%0H(E=A:71I;F<@9F]R($1E;&5T92!T;R!F:6YI#$P,# P,"D[#0H@(" @(" @("!B2!J;W5R;F%L(BD[#0H@(" @(" @("!F3VL@/2!&04Q313L-"B @ M(" @(" @(&)R96%K.PT*(" @(" @?0T*(" @?0T*(" @:68@*"%F3VLI('L- M"B @(" @("\O(%=E('=EPT*(" @0VAA;F=E2F]U2 at F*'!T6EE;&1S(&$@0VAA;F=E2F]UPT*(" @(" @9'=4:6UE;W5T(#T at 3E5-,E5)3E0H6YC('=I;&P-"B @("\O(&)E('-I9VYA M;&5D#0H-"B @(&9/:R ]($1E=FEC94EO0V]N=')O;"AP='(M/FA#2D%S>6YC M+"!&4T-43%]214%$7U533E]*3U523D%,+" FF5O M9BAR=6ID*2P@)G!TF5O9BAP='(M/E5S;D%S>6YC M*2P at 3E5,3"P@)G!TPT*#0H@("!] M#0H-"@D at 9'=786ET(#T at 5V%I=$9O6YC+FA%=F5N="P at 9'=4:6UE;W5T*3L-"@T*(" @PT*"2!#:&%N9V5*;W5R;F%L4W1R=6-T("IP='([#0H@("!54TY? M2D]54DY!3%]$051!('5J9#L-"@T*(" @1&%T85]'971?4W1R=6-T*'-E;&8L M0VAA;F=E2F]U References: <39AA6550E5AA554AB1456707D6E5563DBCFD8E@QTOMAE2K3M01.AD.QINTRA.COM> <005e01c60a80$17ed30f0$ef0d5bd2@2xnm9896kmqn5b9> Message-ID: <43B2E7C1.5000705@gmail.com> Park Heesob wrote: >Hi, > >Finally I implemented the fullpath support for changejournal. > >Now you can get path info like this: > >rv = cj.wait(30){ |ss| ss.each { |s| > puts "Something changed" > puts "File: " + s.file_name > puts "Action: " + s.action > puts "Path : " + s.path > } >} > >Regards, > >Park Heesob > > > Hi, I'm back. :) If you meant to attach the changes, they did not come through properly - just a bunch of junk characters came through instead. Using a database seems like a lot of work for such a small benefit. I noticed this comment from the article you posted earlier: "Developers familiar with the Windows 2000 DDK may be aware of kernel mode APIs or undocumented NTDLL APIs that will convert FRNs to path names directly, but we don't recommend this since Microsoft may change the format of these functions in future releases." Do you happen to know what these undocumented functions are? My feeling is that if they work with NT/2000/XP/2003, we ought to use those instead. That is, unless you feel strongly against using them. I realize MS *could* change the functions, but it seems unlikely. If these undocumented functions do happen to work, then we could use those and revisit the issue again when LongHorn is released. Regards, Dan From djberg96 at gmail.com Wed Dec 28 19:51:45 2005 From: djberg96 at gmail.com (Daniel Berger) Date: Wed, 28 Dec 2005 17:51:45 -0700 Subject: [Win32utils-devel] question about changejournal In-Reply-To: <00f701c606ed$48eff8e0$f40d5bd2@2xnm9896kmqn5b9> References: <39AA6550E5AA554AB1456707D6E5563DBCFD8E@QTOMAE2K3M01.AD.QINTRA.COM> <00f701c606ed$48eff8e0$f40d5bd2@2xnm9896kmqn5b9> Message-ID: <43B33321.3080609@gmail.com> What about this: http://www.castalk.com/ftopic1715.html The first response says we can use ZwCreateFile + FILE_OPEN_BY_ID and then retrieve the full path from the returned HANDLE. Possible? Regards, Dan From noreply at rubyforge.org Wed Dec 28 20:37:07 2005 From: noreply at rubyforge.org (noreply@rubyforge.org) Date: Wed, 28 Dec 2005 18:37:07 -0700 Subject: [Win32utils-devel] [ win32utils-Feature Requests-1795 ] Installer ignores path for docs Message-ID: <200512290137.jBT1b7sd029694@rubyforge.org> Feature Requests item #1795, was opened at 2005-04-15 14:17 You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=414&aid=1795&group_id=85 Category: None Group: None >Status: Deleted >Resolution: Rejected Priority: 3 Submitted By: Nobody (None) Assigned to: Nobody (None) Summary: Installer ignores path for docs Initial Comment: The current installer (v0.4) ignores the user inputed path for the documentation and the samples. Instead of installing them in D:\..\ruby - as I requested - the where installed in c:\ruby. ---------------------------------------------------------------------- >Comment By: Daniel Berger (djberg96) Date: 2005-12-28 18:37 Message: This is bug #2918. ---------------------------------------------------------------------- You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=414&aid=1795&group_id=85 From djberg96 at gmail.com Fri Dec 30 09:44:19 2005 From: djberg96 at gmail.com (Daniel Berger) Date: Fri, 30 Dec 2005 07:44:19 -0700 Subject: [Win32utils-devel] question about changejournal In-Reply-To: <005e01c60a80$17ed30f0$ef0d5bd2@2xnm9896kmqn5b9> References: <39AA6550E5AA554AB1456707D6E5563DBCFD8E@QTOMAE2K3M01.AD.QINTRA.COM> <005e01c60a80$17ed30f0$ef0d5bd2@2xnm9896kmqn5b9> Message-ID: <43B547C3.4070308@gmail.com> Park Heesob wrote: >Hi, > >Finally I implemented the fullpath support for changejournal. > >Now you can get path info like this: > >rv = cj.wait(30){ |ss| ss.each { |s| > puts "Something changed" > puts "File: " + s.file_name > puts "Action: " + s.action > puts "Path : " + s.path > } >} > >Regards, > >Park Heesob > > Ok, your patch has been added, tested, committed to CVS, and released on RubyForge and the RAA. Thanks! Dan