hi for accounting, I want to use external php scripts too. following the exec_program_wait, I set my acct_users like this: DEFAULT Acct-Status-Type == Start Exec-Program = "php -f test.php" DEFAULT Acct-Status-Type == Stop Exec-Program = "php -f test.php" and add "files",to preacct's section, to read acct_users. and my accounting's section in radiusd.conf is empty. I dont have any problem with auth, and reply back right attr, but for accounting packets has a problem, I use ntradping,config it for true accounting port, and accounting-start, in freeradius side, the accounting-start packets recieved by php scripts(I know it from saved env_variables) ,but my script doesn't reply any accounting-response. how I can reply back accounting-response to NAS(ntradping) from php script? now for test I use a php script,for auth and accounting, and defined it in radiusd.conf : exec authphp { wait = yes program = "${raddbdir}/test.php " input_pairs = request output_pairs = reply packet_type = Access-Request } and this is php script: #!/usr/bin/php -f <?php ob_start(); $f = fopen('./php.log','w'); fwrite($f,print_r($_ENV,TRUE)); fclose($f); print "Accounting-Response"; $mtu=100; $ip="10.0.0.1"; exit(0) ; ?> and this is radiusd -X's output: [root@radius raddb]# radiusd -X Starting - reading configuration files ... reread_config: reading radiusd.conf Config: including file: /usr/local/etc/raddb/proxy.conf Config: including file: /usr/local/etc/raddb/clients.conf Config: including file: /usr/local/etc/raddb/snmp.conf Config: including file: /usr/local/etc/raddb/eap.conf Config: including file: /usr/local/etc/raddb/sql.conf main: prefix = "/usr/local" main: localstatedir = "/usr/local/var" main: logdir = "/usr/local/var/log/radius" main: libdir = "/usr/local/lib" main: radacctdir = "/usr/local/var/log/radius/radacct" main: hostname_lookups = yes main: max_request_time = 30 main: cleanup_delay = 5 main: max_requests = 1024 main: delete_blocked_requests = 0 main: port = 1812 main: allow_core_dumps = no main: log_stripped_names = no main: log_file = "/usr/local/var/log/radius/radius.log" main: log_auth = yes main: log_auth_badpass = yes main: log_auth_goodpass = yes main: pidfile = "/usr/local/var/run/radiusd/radiusd.pid" main: bind_address = 217.218.95.126 IP address [217.218.95.126] main: user = "(null)" main: group = "(null)" main: usercollide = no main: lower_user = "no" main: lower_pass = "no" main: nospace_user = "no" main: nospace_pass = "no" main: checkrad = "/usr/local/sbin/checkrad" main: proxy_requests = yes proxy: retry_delay = 5 proxy: retry_count = 3 proxy: synchronous = no proxy: default_fallback = yes proxy: dead_time = 120 proxy: post_proxy_authorize = yes proxy: wake_all_if_all_dead = no security: max_attributes = 200 security: reject_delay = 3 security: status_server = no main: debug_level = 0 read_config_files: reading dictionary read_config_files: reading naslist Using deprecated naslist file. Support for this will go away soon. read_config_files: reading clients read_config_files: reading realms radiusd: entering modules setup Module: Library search path is /usr/local/lib Module: Loaded expr Module: Instantiated expr (expr) Module: Loaded PAP pap: encryption_scheme = "crypt" Module: Instantiated pap (pap) Module: Loaded CHAP Module: Instantiated chap (chap) Module: Loaded MS-CHAP mschap: use_mppe = yes mschap: require_encryption = no mschap: require_strong = no mschap: with_ntdomain_hack = no mschap: passwd = "(null)" mschap: authtype = "MS-CHAP" mschap: ntlm_auth = "(null)" Module: Instantiated mschap (mschap) Module: Loaded System unix: cache = no unix: passwd = "(null)" unix: shadow = "(null)" unix: group = "(null)" unix: radwtmp = "/usr/local/var/log/radius/radwtmp" unix: usegroup = no unix: cache_reload = 600 Module: Instantiated unix (unix) Module: Loaded eap eap: default_eap_type = "md5" eap: timer_expire = 60 eap: ignore_unknown_eap_types = no eap: cisco_accounting_username_bug = no rlm_eap: Loaded and initialized type md5 rlm_eap: Loaded and initialized type leap gtc: challenge = "Password: " gtc: auth_type = "PAP" rlm_eap: Loaded and initialized type gtc mschapv2: with_ntdomain_hack = no rlm_eap: Loaded and initialized type mschapv2 Module: Instantiated eap (eap) Module: Loaded preprocess preprocess: huntgroups = "/usr/local/etc/raddb/huntgroups" preprocess: hints = "/usr/local/etc/raddb/hints" preprocess: with_ascend_hack = no preprocess: ascend_channels_per_line = 23 preprocess: with_ntdomain_hack = no preprocess: with_specialix_jetstream_hack = no preprocess: with_cisco_vsa_hack = no Module: Instantiated preprocess (preprocess) Module: Loaded files files: usersfile = "/usr/local/etc/raddb/users" files: acctusersfile = "/usr/local/etc/raddb/acct_users" files: preproxy_usersfile = "/usr/local/etc/raddb/preproxy_users" files: compat = "no" Module: Instantiated files (files) Module: Loaded exec exec: wait = yes exec: program = "/usr/local/etc/raddb/test.php " exec: input_pairs = "request" exec: output_pairs = "reply" exec: packet_type = "Access-Request" Module: Instantiated exec (authphp) Module: Loaded radutmp radutmp: filename = "/usr/local/var/log/radius/radutmp" radutmp: username = "%{User-Name}" radutmp: case_sensitive = yes radutmp: check_with_nas = yes radutmp: perm = 384 radutmp: callerid = yes Module: Instantiated radutmp (radutmp) Listening on authentication 217.218.95.126:1812 Listening on accounting 217.218.95.126:1813 Ready to process requests. rad_recv: Accounting-Request packet from host 217.218.95.123:4919, id=28, length=38 User-Name = "reza" Acct-Status-Type = Start Acct-Session-Id = "2096" Processing the preacct section of radiusd.conf modcall: entering group preacct for request 0 modcall[preacct]: module "preprocess" returns noop for request 0 acct_users: Matched entry DEFAULT at line 7 modcall[preacct]: module "files" returns ok for request 0 modcall: group preacct returns ok for request 0 radius_xlat: 'php -f test.php' Exec-Program: php -f test.php Finished request 0 Going to the next request --- Walking the entire request list --- Cleaning up request 0 ID 28 with timestamp 442b27bd Nothing to do. Sleeping until we see a request. at last this is ntradping's output: "could not receive a response from the server" tanx for everything Best Pezhman __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com