I added some debug output to bincimap-up and it told me that it is indeed getting the command line args from inetd, but it is not parsing them correctly. Any input appreciated.
Detail:
This is the log output I added to dump the command line args immediately before parsing, and then dump the parsed config file. Notice the config file does not seem to get parsed.
Dec 9 14:59:21 millhouse bincimap-up[31547]: Argc=5 Dec 9 14:59:21 millhouse bincimap-up[31547]: Arg 0 = '--conf=/etc/bincimap/bincimap.conf' Dec 9 14:59:21 millhouse bincimap-up[31547]: Arg 1 = '--logtype=syslog' Dec 9 14:59:21 millhouse bincimap-up[31547]: Arg 2 = '--' Dec 9 14:59:21 millhouse bincimap-up[31547]: Arg 3 = '/bin/checkpassword' Dec 9 14:59:21 millhouse bincimap-up[31547]: Arg 4 = '/usr/local/sbin/bincimapd' Dec 9 14:59:21 millhouse bincimap-up[31547]: Reading config file: '' Dec 9 14:59:21 millhouse bincimap-up[31547]: Client connected to Binc IMAP from ? Dec 9 14:59:43 millhouse bincimap-up[31547]: Unprivileged stub shutting down - read:0 bytes, wrote:0 bytes.
Here's the code I added. Pardon my handmade diff, "-" are old lines, "+" are new lines.
session-initialize-bincimap-up.cc: 87-: logger.noFlushOnEndl(); 88-: 89+: logger << "Argc = " << argc << endl; 90+: for (int i=0; i < argc; i++) 91+: logger << "Arg " << i << " = '" << argv[i] << "' " << endl; 92+: 93-: // Read command line arguments 94-: if (!session.parseRequestLine(argc, argv)) 95-: return false; ... 111-: // Grab config file name 112-: string configfile = session.command.configfile; 113-: 114+: logger << "Reading config file: '" << configfile << "'" << endl; 115+: 116-: // Read configuration
This tells me (I think) that bincimap-up is getting the correct command line args, but is not parsing them correctly.
If I add a line after 112 to hard code the config file, like this: configfile = "/etc/bincimap/bincimap.conf"; Then my login works fine.
To recreate this environment, move (not copy) your config file to some non-standard place. Change some setting in the config file to a non-default value, so that you will know if it was found and parsed. Then edit your inetd.conf to point to the new location via a bincimap cmd line argument. Then try it. I just did the telnet thingy:
# telnet localhost 143 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. * OK Welcome to Binc IMAP v1.2.3 (c) Copyright 2002, 2003 Andreas Aardal Hanssen at 2003-12-09 14:34:36 EST 1 LOGIN testuser testpass 1 NO LOGIN failed: Plain text password authentication is disallowed. Please try enabling SSL or TLS in your mail client. Connection closed by foreign host.
Any input appreciated. I don't like hardcoding my config file, but I guess its a workaround for now.
THANKS for all of your comments!!!
,,,
(oo)
----------------------o0Oo-(_)-oO0o-----------------------
| John F. Masinter Total Business Computing Inc. |
| Voice: 770-886-9100 x10 Fax: upon request |
| mailto:[EMAIL PROTECTED] http://www.totalb.com |
| P.O. Box 88584 Atlanta, GA 30356 |
------------------------ooO--Ooo--------------------------"The spec said Windows-95 or better...so I installed Linux"
