Project

General

Profile

« Previous | Next » 

Revision 052e65ef

Added by Scott Ullrich almost 15 years ago

Adapt to use 2.0's accounts

View differences:

etc/inc/auth.inc
46 46
 * NOTE : Portions of the mschapv2 support was based on the BSD licensed CHAP.php
47 47
 * file courtesy of Michael Retterklieber.
48 48
 */
49

  
50
require_once("config.gui.inc");
49
if(!$do_not_include_config_gui_inc)
50
	require_once("config.gui.inc");
51 51

  
52 52
/* If this function doesn't exist, we're being called from Captive Portal or 
53 53
   another internal subsystem which does not include authgui.inc */
......
1242 1242
	return true;
1243 1243
}
1244 1244

  
1245
?>
1245
?>
etc/inc/zeromq.inc
28 28
*/
29 29

  
30 30
define('ZEROMQ_AUTH_FAIL', 'authfail');
31
define('ZEROMQ_TRUE', 'true');
32
define('ZEROMQ_FASLE', 'false');
33

  
34
$do_not_include_config_gui_inc = true;
35
require("auth.inc"):
31 36

  
32 37
/* zeromq_send: Send a message to a member node */
33
function zeromq_send($protocol = "tcp", $ipaddress, $port, $message) {
34
	if(!$ipaddress || !$port || !$message) 
38
function zeromq_send($protocol = "tcp", $ipaddress, $port, $method, $params, $username, $password) {
39
	if(!$ipaddress || !$port || !$message || !$username || !$password) 
35 40
		return;
36 41
	
42
	/* Set calling function and auth information */
43
	$params['username'] = $username;
44
	$params['password'] = $password;
45
	$params['function'] = $method;
46
	
37 47
	/* Serialize the data we are going to send over */
38
	$serialized = serialize($message);
48
	$serialized = serialize($params);
39 49

  
40 50
	/* Create new queue object */
41 51
	$queue = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ, "MySock1");
......
103 113
	}
104 114
}
105 115

  
106
function zeromq_auth(&$params) {
107
	global $config, $g;
108
	$localpass =  $config['system']['user'][0]['password'];	
109
	if(crypt($params[0], $localpass) == $localpass) {
110
		array_shift($params);
111
		return true;
112
	} else if(crypt($params['xmlrpcauth'],  $localpass)  !=  $localpass)  {
113
		unset($params['xmlrpcauth']);
116
function zeromq_auth($params) {
117
	global $config, $g;	
118

  
119
	$username = $params['username'];
120
	$password = $params['password'];
121
	
122
	$user = getUserEntry($username);
123
	if (!$user)
114 124
		return false;
125

  
126
	if (is_account_disabled($username) || is_account_expired($username))
127
		return false;
128

  
129
	if ($user['password']) {
130
		$passwd = crypt($passwd, $user['password']);
131
		if ($passwd == $user['password'])
132
			return true;
115 133
	}
116
	unset($params['xmlrpcauth']);
134

  
135
	if ($user['md5-hash']) {
136
		$passwd = md5($passwd);
137
		if ($passwd == $user['md5-hash'])
138
			return true;
139
	}
140

  
117 141
	return false;
118 142
}
119 143

  
......
128 152
		$response = XML_RPC_encode($toreturn);
129 153
		return new XML_RPC_Response($response);
130 154
	} else
131
		return $xmlrpc_g['return']['true'];
155
		return ZEROMQ_FASLE;
132 156
}
133 157

  
134 158
function exec_shell_zeromq($raw_params) {
......
138 162
		return ZEROMQ_AUTH_FAIL;
139 163
	$shell_cmd = $params[0];
140 164
	mwexec($shell_cmd);
141
	return $xmlrpc_g['return']['true'];
165
	return ZEROMQ_FASLE;
142 166
}
143 167

  
144 168
function backup_config_section_zeromq($raw_params) {
......
158 182
	$config = array_merge($config, $params[0]);
159 183
	$mergedkeys = implode(",", array_keys($params[0]));
160 184
	write_config(sprintf(gettext("Merged in config (%s sections) from XMLRPC client."),$mergedkeys));
161
	return $xmlrpc_g['return']['true'];
185
	return ZEROMQ_FASLE;
162 186
}
163 187

  
164 188
function merge_installedpackages_section_zeromq($raw_params) {
......
169 193
	$config['installedpackages'] = array_merge($config['installedpackages'], $params[0]);
170 194
	$mergedkeys = implode(",", array_keys($params[0]));
171 195
	write_config(sprintf(gettext("Merged in config (%s sections) from XMLRPC client."),$mergedkeys));
172
	return $xmlrpc_g['return']['true'];
196
	return ZEROMQ_FASLE;
173 197
}
174 198

  
175 199
function merge_config_section_zeromq($raw_params) {
......
180 204
	$config = array_merge_recursive_unique($config, $params[0]);
181 205
	$mergedkeys = implode(",", array_keys($params[0]));
182 206
	write_config("Merged in config ({$mergedkeys} sections) from XMLRPC client.");
183
	return $xmlrpc_g['return']['true'];
207
	return ZEROMQ_FASLE;
184 208
}
185 209

  
186 210
function filter_configure_zeromq($raw_params) {
......
197 221
	services_dhcpd_configure();
198 222
	services_dnsmasq_configure();
199 223
	local_sync_accounts();
200
	return $xmlrpc_g['return']['true'];
224
	return ZEROMQ_FASLE;
201 225
}
202 226

  
203 227
function interfaces_carp_configure_zeromq($raw_params) {
......
207 231
		return ZEROMQ_AUTH_FAIL;
208 232
	interfaces_carp_setup();
209 233
	interfaces_vips_configure();
210
	return $xmlrpc_g['return']['true'];
234
	return ZEROMQ_FASLE;
211 235
}
212 236

  
213 237
function check_firmware_version_zeromq($raw_params) {
......
223 247
	if(!zeromq_auth($params))
224 248
		return ZEROMQ_AUTH_FAIL;
225 249
	mwexec_bg("/etc/rc.reboot");
226
	return $xmlrpc_g['return']['true'];
250
	return ZEROMQ_FASLE;
227 251
}
228 252

  
229 253
function get_notices_zeromq($raw_params) {

Also available in: Unified diff