On Fri, Feb 3, 2017 at 1:19 PM, Viktor Dukhovni <postfix-us...@dukhovni.org>
wrote:

>
> > On Feb 3, 2017, at 1:08 PM, Jaime Hablutzel Egoavil <
> hablutz...@gmail.com> wrote:
> >
> > match_cert_to_user_policy_server.php:
> >
> > #!/usr/bin/php
> > <?php
> >
> > $stdin = fopen('php://stdin', 'r');
> > $postfixIncomingAttributes = array();
> > while (true) {
> >     $line = fgets($stdin);
> >     if ($line == "\n") {
> >         break;
> >     }
> >     $splittedLine = preg_split("/=/", $line);
> >     $postfixIncomingAttributes[$splittedLine[0]] =
> trim($splittedLine[1]);
> > }
> > $userCertMappings = ['user1' => 
> > '2E:DF:45:25:E1:50:60:DB:69:24:C3:80:C0:06:49:FE',
> "user2" => '93:A6:23:A1:96:2E:4B:0D:6B:EE:2E:71:C5:F3:DC:24'];
> > $saslUsername = $postfixIncomingAttributes['sasl_username'];
> > $expectedCertFingerprint = isset($userCertMappings[$saslUsername]) ?
> $userCertMappings[$saslUsername] : null;
> > if ($expectedCertFingerprint != null && $expectedCertFingerprint ==
> $postfixIncomingAttributes['ccert_fingerprint']) {
> >     fwrite(STDOUT, "action=ok\n");
> > } else {
> >     fwrite(STDOUT, "action=reject\n");
> > }
> > fwrite(STDOUT, "\n");
>
> Does this PHP script handle multiple policy lookup requests?
> The smtpd(8) service expects a policy service to handle multiple
> blank-line terminated requests.
>

Multiple blank-line terminated requests in only one TCP request?. If so,
under which circumstances?.


>
> You might also want to consider SHA256 or at least SHA1 digests
> (smtpd_tls_fingerprint_digest = ...).  The use of MD5, even where
> only 2nd-preimage resistance is needed, is frowned upon these days.
>

Thanks for the suggestion, as we are currently at prototyping stage we
haven't got into the security details, but we'll do when working on the
production solution.


>
> --
>         Viktor.
>
>


-- 
Jaime Hablutzel -  RPC 994690880

Reply via email to