From: James Carlson <carlsonj@workingcode.com>
To: linux-ppp@vger.kernel.org
Subject: Re: PPPD plugin development
Date: Mon, 10 Mar 2014 14:01:08 +0000 [thread overview]
Message-ID: <531DC5A4.5050608@workingcode.com> (raw)
In-Reply-To: <531BEBF2.3020508@gmail.com>
On 03/10/14 08:31, Greg wrote:
> as stated before, I'm trying to write a plugin to authenticate against
> an external script. So far, I've only managed to get it to write a bit
> information to a log file on the server.
It would help if you could provide details -- the code you're using, the
debug log messages, the configuration options in use, and any other
information related to your system.
At this point, I'm not even really sure whether you're attempting to
write authenticator or authenticatee code. The two are different.
Details on the problem to be solved would help -- "authenticate against
an external script" is a chosen solution to some issue, not a problem
statement.
> I'm trying to use the digest->code to determine the type of digest used.
> I figured that if I can find out which type it's using then I could then
> move forward with converting it or determining how to store the
> encrypted password to do a comparison.
digest->code will have the PPP code number for the digest type, which
will be CHAP_MD5 (0x05), CHAP_MICROSOFT (0x80), or CHAP_MICROSOFT_V2 (0x81).
You can see all of the registered chap_digest_type objects by grepping
the code for chap_register_digest.
I don't believe it can end up being anything else, given the current design.
> I've also made it return 1 so that no matter what I enter, it should
> show authenticated.
>
> digest->code writes as blank.
"writes"?
> When using it as a switch->case scenario, it goes to default:
> switch (digest->code) {
> case CHAP_MICROSOFT:
> {
> codemess = "MIC";
> }
> case CHAP_MICROSOFT_V2:
> {
> codemess = "MV2";
> }
> default:
> codemess = "Default";
> }
At a guess, that should mean that digest->code is CHAP_MD5, though I'm
really not sure without more information. A debug trace would likely
show more, as would a copy of your code.
> The return 1 appears to work, but then I get the message:
> MPPE required, but keys are not available. Possible plugin problem?
If you return 1 when MS-CHAP is enabled, then you're required to set up
keys and set the mppe_keys_set flag. It's a bit ugly, but MPPE and
MS-CHAP are deeply intertwined.
> I REALLY wish this was a documented better. Though I code in other
> scripting languages, C is not something I'm used to coding. So please
> feel free to give me a hard time, I'm muddling my way through C just to
> get the basics right.
The plug-in interface just is not designed for use by someone without a
deep understanding of the existing code and a healthy amount of C
experience. I somewhat doubt that a plug-in shared library type
interface, regardless of the depth of the documentation, could get
around that.
Normally, when folks want to do external authentication, they do it with
RADIUS or some other AAA protocol like that. It might help to know what
problem you're trying to solve.
--
James Carlson 42.703N 71.076W <carlsonj@workingcode.com>
next prev parent reply other threads:[~2014-03-10 14:01 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-09 4:20 pppd plugin development Greg
2014-03-09 14:14 ` Greg
2014-03-10 12:31 ` PPPD " Greg
2014-03-10 14:01 ` James Carlson [this message]
2014-03-10 14:23 ` Greg
2014-03-10 15:14 ` James Carlson
2014-03-11 4:56 ` Greg
2014-03-11 9:55 ` Greg
2014-03-11 16:56 ` James Carlson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=531DC5A4.5050608@workingcode.com \
--to=carlsonj@workingcode.com \
--cc=linux-ppp@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.