1--TEST--
2radius_put_vendor_int()
3--INI--
4display_errors=1
5error_reporting=22527
6--SKIPIF--
7<?php
8include dirname(__FILE__).'/server/fake_server.php';
9
10if (\RADIUS\FakeServer\FakeServer::skip()) {
11    die('SKIP: pcntl, radius and sockets extensions required');
12}
13?>
14--FILE--
15<?php
16include dirname(__FILE__).'/server/fake_server.php';
17
18$server = new \RADIUS\FakeServer\FakeServer;
19$res = $server->getAuthResource();
20
21$request = \RADIUS\FakeServer\Request::expect(RADIUS_ACCESS_REQUEST, array(
22    \RADIUS\FakeServer\Attribute\expect(RADIUS_USER_NAME, 'foo'),
23    \RADIUS\FakeServer\VendorSpecificAttribute\expect(RADIUS_VENDOR_MICROSOFT, RADIUS_MICROSOFT_MS_RAS_VERSION, pack('N', 1234)),
24    \RADIUS\FakeServer\VendorSpecificAttribute\expect(RADIUS_VENDOR_MICROSOFT, RADIUS_MICROSOFT_MS_RAS_VERSION, pack('N', 1234), null, true),
25));
26
27$response = new \RADIUS\FakeServer\RadiusResponse;
28$response->code = RADIUS_ACCESS_REJECT;
29$response->attributes = array(
30    \RADIUS\FakeServer\Attribute\expect(RADIUS_REPLY_MESSAGE, 'Go away'),
31);
32
33$server->addTransaction($request, $response);
34$server->handle();
35
36var_dump(radius_put_vendor_int($res, RADIUS_VENDOR_MICROSOFT, RADIUS_MICROSOFT_MS_RAS_VERSION, 1234));
37var_dump(radius_put_vendor_int($res, RADIUS_VENDOR_MICROSOFT, RADIUS_MICROSOFT_MS_RAS_VERSION, 1234, RADIUS_OPTION_SALT));
38
39radius_create_request($res, RADIUS_ACCESS_REQUEST);
40radius_put_string($res, RADIUS_USER_NAME, 'foo');
41radius_put_string($res, RADIUS_USER_PASSWORD, 'bar');
42var_dump(radius_put_vendor_int($res, RADIUS_VENDOR_MICROSOFT, RADIUS_MICROSOFT_MS_RAS_VERSION, 1234));
43var_dump(radius_put_vendor_int($res, RADIUS_VENDOR_MICROSOFT, RADIUS_MICROSOFT_MS_RAS_VERSION, 1234, RADIUS_OPTION_SALT));
44radius_send_request($res);
45
46var_dump($server->wait());
47?>
48--EXPECTF--
49bool(false)
50bool(false)
51bool(true)
52bool(true)
53int(0)
54