This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
RE: Authentication problem with ECOS PPP Server
- From: "Weili Yao" <weili_yao at trimble dot com>
- To: "Nick Garnett" <nickg at ecoscentric dot com>
- Cc: <ecos-discuss at sourceware dot org>
- Date: Tue, 2 Jan 2007 16:35:33 -0800
- Subject: RE: [ECOS] Authentication problem with ECOS PPP Server
>> Hello, there:
>> My device is running as ECOS PPP Server and the Windows XP is
running
>> as PPP Client. The problem is that the ECOS PPP Server does not
properly
>> do authentication, i.e. the ECOS PPP Server will take whatever
>> user/password being set by the client (Windows XP). Any idea how to
>> set/configure the ECOS PPP Server to do the authetication?
>The original FreeBSD PPPD code worked by looking in
>/etc/ppp/pap-secrets and /etc/passwd. Since eCos runs in systems that
>don't have filesystems, all of the code that did this was removed.
>
>The main interface to this code still exists: the function
>check_passwd() in auth.c. At present it just returns OK for
>everything. So if you want to add your own authentication mechanism
>then the best approach is to ifdef this function out here and add your
>own implementation in your own code.
I don't see the logic ever reaching the check_passwd() when I set ECOS
device as PPP server. I think fundamentally the ECOS PPP Server
authentication has been broken.
In the lcp_init() function, there are following lines:
wo->neg_chap = 0; /* Set to 1 on server */
wo->neg_upap = 0; /* Set to 1 on server */
But I am not sure what these lines are for. I changed to 1 for both
neg_upap and neg_chap, still the same result. Another place is in file:
pppd.c
int auth_required = 0; /* Peer is required to authenticate */
What is this line for?
Thanks a lot!
Weili
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss