Changes in / [ddd4779:b6cd9e9]


Ignore:
Files:
5 deleted
14 edited

Legend:

Unmodified
Added
Removed
  • .bzrignore

    rddd4779 rb6cd9e9  
    22config.h
    33bitlbee
    4 Debug
    5 Debugx
    6 deps
    7 admin/Debug
    8 admin/admin.plg
    9 bitlbee.plg
    10 *.plg
    11 *.aps
    12 *.clw
    134user-guide.txt
    145user-guide.html
  • Makefile

    rddd4779 rb6cd9e9  
    1010
    1111# Program variables
    12 objects = account.o bitlbee.o crypting.o help.o ipc.o irc.o irc_commands.o nick.o query.o root_commands.o set.o storage.o $(STORAGE_OBJS) user.o
     12objects = account.o bitlbee.o conf.o crypting.o help.o ipc.o irc.o irc_commands.o log.o nick.o query.o root_commands.o set.o storage.o $(STORAGE_OBJS) unix.o user.o
    1313headers = account.h bitlbee.h commands.h conf.h config.h crypting.h help.h ipc.h irc.h log.h nick.h query.h set.h sock.h storage.h user.h lib/events.h lib/http_client.h lib/ini.h lib/md5.h lib/misc.h lib/proxy.h lib/sha1.h lib/ssl_client.h lib/url.h protocols/nogaim.h
    1414subdirs = lib protocols
    15 
    16 ifeq ($(TARGET),i586-mingw32msvc)
    17 objects += win32.o
    18 else
    19 objects += unix.o conf.o log.o
    20 endif
    2115
    2216# Expansion of variables
  • bitlbee.c

    rddd4779 rb6cd9e9  
    123123                ipc_master_listen_socket();
    124124       
    125 #ifndef _WIN32
    126125        if( ( fp = fopen( global.conf->pidfile, "w" ) ) )
    127126        {
     
    133132                log_message( LOGLVL_WARNING, "Warning: Couldn't write PID to `%s'", global.conf->pidfile );
    134133        }
    135 #endif
    136134       
    137135        return( 0 );
     
    142140        if( !irc_new( 0 ) )
    143141                return( 1 );
     142       
     143        log_link( LOGLVL_ERROR, LOGOUTPUT_IRC );
     144        log_link( LOGLVL_WARNING, LOGOUTPUT_IRC );
    144145       
    145146        return( 0 );
     
    253254        struct sockaddr_in conn_info;
    254255        int new_socket = accept( global.listen_socket, (struct sockaddr *) &conn_info, &size );
     256        pid_t client_pid = 0;
    255257       
    256258        if( new_socket == -1 )
     
    260262        }
    261263       
    262 #ifndef _WIN32
    263264        if( global.conf->runmode == RUNMODE_FORKDAEMON )
    264265        {
    265                 pid_t client_pid = 0;
    266266                int fds[2];
    267267               
     
    320320        }
    321321        else
    322 #endif
    323322        {
    324323                log_message( LOGLVL_INFO, "Creating new connection with fd %d.", new_socket );
  • bitlbee.h

    rddd4779 rb6cd9e9  
    4848#include <stdio.h>
    4949#include <ctype.h>
    50 #include <errno.h>
    51 
    5250#ifndef _WIN32
    5351#include <syslog.h>
     52#include <errno.h>
    5453#endif
    5554
  • configure

    rddd4779 rb6cd9e9  
    2020ipcsocket='/var/run/bitlbee.sock'
    2121pcdir='$prefix/lib/pkgconfig'
    22 systemlibdirs="/lib /usr/lib /usr/local/lib"
    2322
    2423msn=1
     
    110109PCDIR=$pcdir
    111110
    112 TARGET=$target
    113111ARCH=$arch
    114112CPU=$cpu
     
    136134EOF
    137135
    138 
    139 
    140136if [ -n "$target" ]; then
    141         PKG_CONFIG_LIBDIR=/usr/$target/lib/pkgconfig
    142         export PKG_CONFIG_LIBDIR
     137        PKG_CONFIG_PATH=/usr/$target/lib/pkgconfig
    143138        PATH=/usr/$target/bin:$PATH
    144139        CC=$target-cc
    145140        LD=$target-ld
    146         systemlibdirs="/usr/$target/lib"
    147 fi
    148 
     141fi
    149142
    150143if [ "$debug" = "1" ]; then
     
    292285elif [ "$ssl" = "nss" ]; then
    293286        detect_nss
    294 elif [ "$ssl" = "sspi" ]; then
    295         echo
    296287elif [ "$ssl" = "openssl" ]; then
    297288        echo
     
    350341echo 'SSL_CLIENT=ssl_'$ssl'.o' >> Makefile.settings
    351342
    352 for i in $systemlibdirs; do
     343for i in /lib /usr/lib /usr/local/lib; do
    353344        if [ -f $i/libresolv.a ]; then
    354345                echo '#define HAVE_RESOLV_A' >> config.h
     
    510501        echo 'Cygwin is not officially supported.'
    511502;;
    512 Windows )
    513         echo OUTFILE=bitlbee.exe >> Makefile.settings
    514         echo LFLAGS+=-lwsock32 >> Makefile.settings
    515         echo EFLAGS+=-lsecur32 >> Makefile.settings
    516 ;;
    517503* )
    518504        echo 'We haven'\''t tested BitlBee on many platforms yet, yours is untested. YMMV.'
  • ipc.c

    rddd4779 rb6cd9e9  
    439439}
    440440
    441 #ifndef _WIN32
    442441char *ipc_master_save_state()
    443442{
     
    505504}
    506505
     506#ifndef _WIN32
    507507int ipc_master_listen_socket()
    508508{
     
    541541}
    542542#else
    543 int ipc_master_listen_socket()
    544 {
    545543        /* FIXME: Open named pipe \\.\BITLBEE */
    546         return 0;
    547 }
    548544#endif
    549545
  • lib/misc.c

    rddd4779 rb6cd9e9  
    392392}
    393393
     394/* A pretty reliable random number generator. Tries to use the /dev/random
     395   devices first, and falls back to the random number generator from libc
     396   when it fails. Opens randomizer devices with O_NONBLOCK to make sure a
     397   lack of entropy won't halt BitlBee. */
     398void random_bytes( unsigned char *buf, int count )
     399{
     400        static int use_dev = -1;
     401       
     402        /* Actually this probing code isn't really necessary, is it? */
     403        if( use_dev == -1 )
     404        {
     405                if( access( "/dev/random", R_OK ) == 0 || access( "/dev/urandom", R_OK ) == 0 )
     406                        use_dev = 1;
     407                else
     408                {
     409                        use_dev = 0;
     410                        srand( ( getpid() << 16 ) ^ time( NULL ) );
     411                }
     412        }
     413       
     414        if( use_dev )
     415        {
     416                int fd;
     417               
     418                /* At least on Linux, /dev/random can block if there's not
     419                   enough entropy. We really don't want that, so if it can't
     420                   give anything, use /dev/urandom instead. */
     421                if( ( fd = open( "/dev/random", O_RDONLY | O_NONBLOCK ) ) >= 0 )
     422                        if( read( fd, buf, count ) == count )
     423                        {
     424                                close( fd );
     425                                return;
     426                        }
     427                close( fd );
     428               
     429                /* urandom isn't supposed to block at all, but just to be
     430                   sure. If it blocks, we'll disable use_dev and use the libc
     431                   randomizer instead. */
     432                if( ( fd = open( "/dev/urandom", O_RDONLY | O_NONBLOCK ) ) >= 0 )
     433                        if( read( fd, buf, count ) == count )
     434                        {
     435                                close( fd );
     436                                return;
     437                        }
     438                close( fd );
     439               
     440                /* If /dev/random blocks once, we'll still try to use it
     441                   again next time. If /dev/urandom also fails for some
     442                   reason, stick with libc during this session. */
     443               
     444                use_dev = 0;
     445                srand( ( getpid() << 16 ) ^ time( NULL ) );
     446        }
     447       
     448        if( !use_dev )
     449        {
     450                int i;
     451               
     452                /* Possibly the LSB of rand() isn't very random on some
     453                   platforms. Seems okay on at least Linux and OSX though. */
     454                for( i = 0; i < count; i ++ )
     455                        buf[i] = rand() & 0xff;
     456        }
     457}
     458
    394459int is_bool( char *value )
    395460{
  • protocols/nogaim.h

    rddd4779 rb6cd9e9  
    131131        struct im_connection *ic; /* the connection it belongs to */
    132132};
    133 
    134 struct ft
    135 {
    136         const char *filename;
    137        
    138         /* Total number of bytes in file */
    139         size_t total_bytes;
    140        
    141         /* Current number of bytes received */
    142         size_t cur_bytes;
    143 };
    144 
    145 struct ft_request
    146 {
    147         const char *filename;
    148         struct gaim_connection *gc;
    149 };
    150 
    151 typedef void (*ft_recv_handler) (struct ft *, void *data, size_t len);
    152133
    153134struct prpl {
  • protocols/oscar/AUTHORS

    rddd4779 rb6cd9e9  
    2828E: awwaiid@auk.cx
    2929D: Figured out original password roasting
     30
     31
  • protocols/yahoo/libyahoo2.c

    rddd4779 rb6cd9e9  
    6969#ifdef __MINGW32__
    7070# include <winsock2.h>
     71# define write(a,b,c) send(a,b,c,0)
     72# define read(a,b,c)  recv(a,b,c,0)
    7173#endif
    7274
  • protocols/yahoo/yahoo_httplib.c

    rddd4779 rb6cd9e9  
    5151#ifdef __MINGW32__
    5252# include <winsock2.h>
     53# define write(a,b,c) send(a,b,c,0)
     54# define read(a,b,c)  recv(a,b,c,0)
    5355# define snprintf _snprintf
    5456#endif
  • sock.h

    rddd4779 rb6cd9e9  
    1616#else
    1717# include <winsock2.h>
    18 # include <ws2tcpip.h>
     18# ifndef _MSC_VER
     19#  include <ws2tcpip.h>
     20# endif
    1921# if !defined(BITLBEE_CORE) && defined(_MSC_VER)
    2022#   pragma comment(lib,"bitlbee.lib")
    2123# endif
    2224# include <io.h>
     25# define read(a,b,c) recv(a,b,c,0)
     26# define write(a,b,c) send(a,b,c,0)
     27# define umask _umask
     28# define mode_t int
    2329# define sock_make_nonblocking(fd) { int non_block = 1; ioctlsocket(fd, FIONBIO, &non_block); }
    2430# define sock_make_blocking(fd) { int non_block = 0; ioctlsocket(fd, FIONBIO, &non_block); }
  • storage_text.c

    rddd4779 rb6cd9e9  
    2727#include "bitlbee.h"
    2828#include "crypting.h"
    29 #ifdef _WIN32
    30 # define umask _umask
    31 # define mode_t int
    32 #endif
    33 
    34 #ifndef F_OK
    35 #define F_OK 0
    36 #endif
    3729
    3830static void text_init (void)
  • unix.c

    rddd4779 rb6cd9e9  
    6060        if( global.conf->runmode == RUNMODE_INETD )
    6161        {
    62                 log_link( LOGLVL_ERROR, LOGOUTPUT_IRC );
    63                 log_link( LOGLVL_WARNING, LOGOUTPUT_IRC );
    64        
    6562                i = bitlbee_inetd_init();
    6663                log_message( LOGLVL_INFO, "Bitlbee %s starting in inetd mode.", BITLBEE_VERSION );
     
    6966        else if( global.conf->runmode == RUNMODE_DAEMON )
    7067        {
    71                 log_link( LOGLVL_ERROR, LOGOUTPUT_SYSLOG );
    72                 log_link( LOGLVL_WARNING, LOGOUTPUT_SYSLOG );
    73 
    7468                i = bitlbee_daemon_init();
    7569                log_message( LOGLVL_INFO, "Bitlbee %s starting in daemon mode.", BITLBEE_VERSION );
     
    225219        return( (double) time->tv_sec + (double) time->tv_usec / 1000000 );
    226220}
    227 
    228 /* A pretty reliable random number generator. Tries to use the /dev/random
    229    devices first, and falls back to the random number generator from libc
    230    when it fails. Opens randomizer devices with O_NONBLOCK to make sure a
    231    lack of entropy won't halt BitlBee. */
    232 void random_bytes( unsigned char *buf, int count )
    233 {
    234         static int use_dev = -1;
    235        
    236         /* Actually this probing code isn't really necessary, is it? */
    237         if( use_dev == -1 )
    238         {
    239                 if( access( "/dev/random", R_OK ) == 0 || access( "/dev/urandom", R_OK ) == 0 )
    240                         use_dev = 1;
    241                 else
    242                 {
    243                         use_dev = 0;
    244                         srand( ( getpid() << 16 ) ^ time( NULL ) );
    245                 }
    246         }
    247        
    248         if( use_dev )
    249         {
    250                 int fd;
    251                
    252                 /* At least on Linux, /dev/random can block if there's not
    253                    enough entropy. We really don't want that, so if it can't
    254                    give anything, use /dev/urandom instead. */
    255                 if( ( fd = open( "/dev/random", O_RDONLY | O_NONBLOCK ) ) >= 0 )
    256                         if( read( fd, buf, count ) == count )
    257                         {
    258                                 close( fd );
    259                                 return;
    260                         }
    261                 close( fd );
    262                
    263                 /* urandom isn't supposed to block at all, but just to be
    264                    sure. If it blocks, we'll disable use_dev and use the libc
    265                    randomizer instead. */
    266                 if( ( fd = open( "/dev/urandom", O_RDONLY | O_NONBLOCK ) ) >= 0 )
    267                         if( read( fd, buf, count ) == count )
    268                         {
    269                                 close( fd );
    270                                 return;
    271                         }
    272                 close( fd );
    273                
    274                 /* If /dev/random blocks once, we'll still try to use it
    275                    again next time. If /dev/urandom also fails for some
    276                    reason, stick with libc during this session. */
    277                
    278                 use_dev = 0;
    279                 srand( ( getpid() << 16 ) ^ time( NULL ) );
    280         }
    281        
    282         if( !use_dev )
    283         {
    284                 int i;
    285                
    286                 /* Possibly the LSB of rand() isn't very random on some
    287                    platforms. Seems okay on at least Linux and OSX though. */
    288                 for( i = 0; i < count; i ++ )
    289                         buf[i] = rand() & 0xff;
    290         }
    291 }
    292 
    293 
Note: See TracChangeset for help on using the changeset viewer.