Changes in / [e46e077:f1e7407]


Ignore:
Files:
5 deleted
15 edited

Legend:

Unmodified
Added
Removed
  • .bzrignore

    re46e077 rf1e7407  
    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
     
    2617*.gcno
    2718*.o
    28 coverage
    29 bitlbee.info
  • Makefile

    re46e077 rf1e7407  
    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 ($(ARCH),Windows)
    17 objects += win32.o
    18 else
    19 objects += unix.o conf.o log.o
    20 endif
    2115
    2216# Expansion of variables
  • bitlbee.c

    re46e077 rf1e7407  
    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 );
     
    249250        struct sockaddr_in conn_info;
    250251        int new_socket = accept( global.listen_socket, (struct sockaddr *) &conn_info, &size );
     252        pid_t client_pid = 0;
    251253       
    252254        if( new_socket == -1 )
     
    256258        }
    257259       
    258 #ifndef _WIN32
    259260        if( global.conf->runmode == RUNMODE_FORKDAEMON )
    260261        {
    261                 pid_t client_pid = 0;
    262262                int fds[2];
    263263               
     
    316316        }
    317317        else
    318 #endif
    319318        {
    320319                log_message( LOGLVL_INFO, "Creating new connection with fd %d.", new_socket );
  • bitlbee.h

    re46e077 rf1e7407  
    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
     
    9594#undef g_main_quit
    9695#define g_main_quit             __PLEASE_USE_B_MAIN_QUIT__
     96
     97#ifndef F_OK
     98#define F_OK 0
     99#endif
    97100
    98101#ifndef G_GNUC_MALLOC
  • configure

    re46e077 rf1e7407  
    224224detect_gnutls()
    225225{
    226         if $PKG_CONFIG --exists gnutls; then
    227                 cat <<EOF>>Makefile.settings
    228 EFLAGS+=`$PKG_CONFIG --libs gnutls`
    229 CFLAGS+=`$PKG_CONFIG --cflags gnutls`
    230 EOF
    231                 ssl=gnutls
    232                 ret=1
    233         elif libgnutls-config --version > /dev/null 2> /dev/null; then
     226        if libgnutls-config --version > /dev/null 2> /dev/null; then
    234227                cat <<EOF>>Makefile.settings
    235228EFLAGS+=`libgnutls-config --libs`
     
    285278elif [ "$ssl" = "nss" ]; then
    286279        detect_nss
    287 elif [ "$ssl" = "sspi" ]; then
    288         echo
    289280elif [ "$ssl" = "openssl" ]; then
    290281        echo
     
    395386
    396387if [ "$gcov" = "1" ]; then
    397         echo "CFLAGS+=--coverage" >> Makefile.settings
    398         echo "EFLAGS+=--coverage" >> Makefile.settings
     388        echo "CFLAGS+=-ftest-coverage -fprofile-arcs" >> Makefile.settings
     389        echo "EFLAGS+=-lgcov" >> Makefile.settings
    399390fi
    400391
     
    503494        echo 'Cygwin is not officially supported.'
    504495;;
    505 Windows )
    506         echo OUTFILE=bitlbee.exe >> Makefile.settings
    507         echo LFLAGS+=-lwsock32 >> Makefile.settings
    508         echo EFLAGS+=-lsecur32 >> Makefile.settings
    509 ;;
    510496* )
    511497        echo 'We haven'\''t tested BitlBee on many platforms yet, yours is untested. YMMV.'
  • ipc.c

    re46e077 rf1e7407  
    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

    re46e077 rf1e7407  
    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

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

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

    re46e077 rf1e7407  
    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

    re46e077 rf1e7407  
    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

    re46e077 rf1e7407  
    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

    re46e077 rf1e7407  
    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)
  • storage_xml.c

    re46e077 rf1e7407  
    2929#include "arc.h"
    3030#include "md5.h"
    31 #include <glib/gstdio.h>
    3231
    3332typedef enum
     
    244243static void xml_init( void )
    245244{
    246         if( ! g_file_test( global.conf->configdir, G_FILE_TEST_EXISTS ) )
     245        if( access( global.conf->configdir, F_OK ) != 0 )
    247246                log_message( LOGLVL_WARNING, "The configuration directory `%s' does not exist. Configuration won't be saved.", global.conf->configdir );
    248         else if( ! g_file_test( global.conf->configdir, G_FILE_TEST_EXISTS ) || g_access( global.conf->configdir, W_OK ) != 0 )
     247        else if( access( global.conf->configdir, R_OK ) != 0 || access( global.conf->configdir, W_OK ) != 0 )
    249248                log_message( LOGLVL_WARNING, "Permission problem: Can't read/write from/to `%s'.", global.conf->configdir );
    250249}
     
    373372        g_free( path2 );
    374373       
    375         if( !overwrite && g_file_test( path, G_FILE_TEST_EXISTS ) )
     374        if( !overwrite && access( path, F_OK ) != -1 )
    376375                return STORAGE_ALREADY_EXISTS;
    377376       
  • unix.c

    re46e077 rf1e7407  
    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.