[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r9506: (Hopefully) final changes for 0.1.2.7-alpha: disable checkin (in tor/trunk: . src/or)
- To: or-cvs@xxxxxxxxxxxxx
- Subject: [or-cvs] r9506: (Hopefully) final changes for 0.1.2.7-alpha: disable checkin (in tor/trunk: . src/or)
- From: nickm@xxxxxxxx
- Date: Wed, 7 Feb 2007 00:11:02 -0500 (EST)
- Delivered-to: archiver@seul.org
- Delivered-to: or-cvs-outgoing@seul.org
- Delivered-to: or-cvs@seul.org
- Delivery-date: Wed, 07 Feb 2007 00:11:33 -0500
- Reply-to: or-talk@xxxxxxxxxxxxx
- Sender: owner-or-cvs@xxxxxxxxxxxxx
Author: nickm
Date: 2007-02-07 00:10:58 -0500 (Wed, 07 Feb 2007)
New Revision: 9506
Modified:
tor/trunk/
tor/trunk/ChangeLog
tor/trunk/src/or/main.c
Log:
r11676@catbus: nickm | 2007-02-07 00:10:00 -0500
(Hopefully) final changes for 0.1.2.7-alpha: disable checking for whether the user account in question exists on --service install, since that seems to make windows go boom. We can figure out why later. Also, let the admin specify a password for the target user.
Property changes on: tor/trunk
___________________________________________________________________
svk:merge ticket from /tor/trunk [r11676] on 8246c3cf-6607-4228-993b-4d95d33730f1
Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog 2007-02-07 03:40:06 UTC (rev 9505)
+++ tor/trunk/ChangeLog 2007-02-07 05:10:58 UTC (rev 9506)
@@ -18,7 +18,7 @@
o Major bugfixes (NT services):
- Install as NT_AUTHORITY\LocalService rather than as SYSTEM; add a
command-line flag so that admins can override the default by saying
- "tor --service install --user "SomeUser"". This will not effect
+ "tor --service install --user "SomeUser"". This will not affect
existing installed services. Also, warn the user that the service
will look for its configuration file in the service user's
%appdata% directory. (We can't do the 'hardwire the user's appdata
Modified: tor/trunk/src/or/main.c
===================================================================
--- tor/trunk/src/or/main.c 2007-02-07 03:40:06 UTC (rev 9505)
+++ tor/trunk/src/or/main.c 2007-02-07 05:10:58 UTC (rev 9506)
@@ -2122,7 +2122,7 @@
smartlist_free(sl);
/* Allocate a string for the NT service command line */
- cmdlen = strlen(tor_exe) + strlen(options) + 32;
+ cmdlen = strlen(tor_exe) + (options?strlen(options):0) + 32;
command = tor_malloc(cmdlen);
/* Format the service command */
@@ -2161,6 +2161,7 @@
char *command;
char *errmsg;
const char *user_acct = GENSRV_USERACCT;
+ const char *password = "";
int i;
OSVERSIONINFOEX info;
SID_NAME_USE sidUse;
@@ -2180,11 +2181,16 @@
service_fns.CloseServiceHandle_fn(hSCManager);
return -1;
}
+
for (i=1; i < argc; ++i) {
if (!strcmp(argv[i], "--user") && i+1<argc) {
user_acct = argv[i+1];
++i;
}
+ if (!strcmp(argv[i], "--password") && i+1<argc) {
+ password = argv[i+1];
+ ++i;
+ }
}
/* Compute our version and see whether we're running win2k or earlier. */
@@ -2215,11 +2221,12 @@
printf("Running on a Post-Win2K OS, so we'll assume that the "
"LocalService account exists.\n");
}
- } else if (service_fns.LookupAccountNameA_fn(NULL, // On this system
+ } else if (0 && service_fns.LookupAccountNameA_fn(NULL, // On this system
user_acct,
NULL, &sidLen, // Don't care about the SID
NULL, &domainLen, // Don't care about the domain
&sidUse) == 0) {
+ /* XXXX012 For some reason, the above test segfaults. Fix that. */
printf("User \"%s\" doesn't seem to exist.\n", user_acct);
return -1;
} else {
@@ -2239,8 +2246,8 @@
GENSRV_DISPLAYNAME,
SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS,
SERVICE_AUTO_START, SERVICE_ERROR_IGNORE,
- command,
- NULL, NULL, NULL, user_acct, "")) == NULL) {
+ command, NULL, NULL, NULL,
+ user_acct, password)) == NULL) {
errmsg = nt_strerror(GetLastError());
printf("CreateService() failed : %s\n", errmsg);
service_fns.CloseServiceHandle_fn(hSCManager);
@@ -2248,6 +2255,7 @@
tor_free(command);
return -1;
}
+ printf("Done with CreateService.\n");
/* Set the service's description */
sdBuff.lpDescription = GENSRV_DESCRIPTION;