[Siproxd-users] siproxd and cygwin
Status: Beta
Brought to you by:
tries
From: <Mat...@mw...> - 2005-01-07 13:09:51
|
We have installed and tested siproxd on Win2000 and WinXP with cygwin. Runs stable. We have made the following changes, shown at the end of the mail: In configure we have introduced cygwin. In rtpproxy_relay.c we have exclude checking for uid 0, because with cygwin there is no root user with uid 0. You can change in /etc/passwd, but this is unsecure, because it is generated from the Windows users and after generation random uids are found for the users. To install siproxd as a Windows service you can use cygrunsrv -I siproxd -p /usr/local/sbin -c /tmp -t auto -o -a "<parameters for siproxd>" If you have cygwin init installed as service you can start siproxd from inittab like in other Unix compile of libosip2-2.0.6 also worked fine: configure - make - make install - ok. all good work regards MW here are the changes. configure: $ diff -c3 configure.orig configure *** configure.orig Mon Jan 3 16:44:49 2005 --- configure Mon Jan 3 16:47:11 2005 *************** *** 3313,3318 **** --- 3313,3328 ---- echo "$as_me:$LINENO: checking target platform" >&5 echo $ECHO_N "checking target platform... $ECHO_C" >&6 case "$target" in + *cygwin*) + echo "$as_me:$LINENO: result: Cygwin" >&5 + echo "${ECHO_T}Cygwin" >&6 + + cat >>confdefs.h <<\_ACEOF + #define _CYGWIN + _ACEOF + + ;; + case "$target" in *-*-linux*) echo "$as_me:$LINENO: result: Linux" >&5 echo "${ECHO_T}Linux" >&6 rtpproxy_relay.c: $ diff -c3 rtpproxy_relay.c.orig rtpproxy_relay.c *** rtpproxy_relay.c.orig Thu Dec 30 12:26:05 2004 --- rtpproxy_relay.c Thu Dec 30 13:53:05 2004 *************** *** 111,122 **** --- 111,124 ---- int uid,euid; struct sched_param schedparam; + #ifndef _CYGWIN uid=getuid(); euid=geteuid(); DEBUGC(DBCLASS_RTP,"uid=%i, euid=%i", uid, euid); if (uid != euid) seteuid(0); if (geteuid()==0) { + #endif #if defined(HAVE_SCHED_GET_PRIORITY_MAX) && defined(HAVE_SCHED_GET_PRIORITY_MI N) int pmin, pmax; /* place ourself at 1/3 of the available priority space */ *************** *** 134,144 **** --- 136,148 ---- if (sts != 0) { ERROR("pthread_setschedparam failed: %s", strerror(errno)); } + #ifndef _CYGWIN } else { INFO("Unable to use realtime scheduling for RTP proxy"); INFO("You may want to start siproxd as root and switch UID afterwards "); } if (uid != euid) seteuid(euid); + #endif } #endif Mathias Wohlfarth EDV-Beratung Thomas-Mann-Str.1 53111 Bonn Tel. 0172 / 53 45 591 01801 / 777 555 33 01 Fax 0228 / 9469181 Email mat...@mw... |