Changes in / [96ace1b:f665dab]


Ignore:
Files:
1 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • .bzrignore

    r96ace1b rf665dab  
    1010decode
    1111encode
    12 bitlbee.pc
  • Makefile

    r96ace1b rf665dab  
    1111# Program variables
    1212objects = account.o bitlbee.o conf.o crypting.o help.o ini.o ipc.o irc.o irc_commands.o log.o nick.o query.o root_commands.o set.o storage.o storage_text.o unix.o url.o user.o util.o
    13 headers = account.h bitlbee.h commands.h conf.h config.h crypting.h help.h ini.h ipc.h irc.h log.h nick.h query.h set.h sock.h storage.h url.h user.h protocols/http_client.h protocols/md5.h protocols/nogaim.h protocols/proxy.h protocols/sha.h protocols/ssl_client.h
    1413subdirs = protocols
    1514
     
    2322        $(MAKE) -C doc
    2423
    25 uninstall: uninstall-bin uninstall-doc 
     24uninstall: uninstall-bin uninstall-doc
    2625        @echo -e '\nmake uninstall does not remove files in '$(DESTDIR)$(ETCDIR)', you can use make uninstall-etc to do that.\n'
    2726
     
    5958uninstall-bin:
    6059        rm -f $(DESTDIR)$(BINDIR)/$(OUTFILE)
    61 
    62 install-dev:
    63         mkdir -p $(DESTDIR)$(INCLUDEDIR)
    64         install -m 0644 $(headers) $(DESTDIR)$(INCLUDEDIR)
    65         mkdir -p $(DESTDIR)$(PCDIR)
    66         install -m 0644 bitlbee.pc $(DESTDIR)$(PCDIR)
    67 
    68 uninstall-dev:
    69         rm -f $(foreach hdr,$(headers),$(DESTDIR)$(INCLUDEDIR)/$(hdr))
    70         -rmdir $(DESTDIR)$(INCLUDEDIR)
    71         rm -f $(DESTDIR)$(PCDIR)/bitlbee.pc
    7260
    7361install-etc:
  • bitlbee.c

    r96ace1b rf665dab  
    118118        if( global.conf->runmode == RUNMODE_FORKDAEMON )
    119119                ipc_master_load_state();
    120 
    121         if( global.conf->runmode == RUNMODE_DAEMON ||
    122                 global.conf->runmode == RUNMODE_FORKDAEMON )
    123                 ipc_master_listen_socket();
    124120       
    125121        if( ( fp = fopen( global.conf->pidfile, "w" ) ) )
  • bitlbee.h

    r96ace1b rf665dab  
    102102#include "storage.h"
    103103#include "set.h"
    104 #include "nogaim.h"
     104#include "protocols/nogaim.h"
    105105#include "commands.h"
    106106#include "account.h"
  • conf.c

    r96ace1b rf665dab  
    139139                                "  -D  Daemon mode. (Still EXPERIMENTAL!)\n"
    140140                                "  -F  Forking daemon. (one process per client)\n"
    141                                 "  -P  Specify PID-file (not for inetd mode)\n"
    142141                                "  -i  Specify the interface (by IP address) to listen on.\n"
    143142                                "      (Default: 0.0.0.0 (any interface))\n"
  • configure

    r96ace1b rf665dab  
    1515config='/var/lib/bitlbee/'
    1616pidfile='/var/run/bitlbee.pid'
    17 ipcsocket='/var/run/bitlbee'
    1817plugindir='$prefix/lib/bitlbee'
    19 pcdir='$prefix/lib/pkgconfig'
    20 includedir='$prefix/include/bitlbee'
    2118
    2219msn=1
     
    5350--pidfile=...                                           $pidfile
    5451--config=...                                            $config
    55 --ipcsocket=...                                         $ipcsocket
    5652
    5753--msn=0/1       Disable/enable MSN part                 $msn
     
    8379config=`eval echo "$config/" | sed 's/\/\{1,\}/\//g'`
    8480plugindir=`eval echo "$plugindir/" | sed 's/\/\{1,\}/\//g'`
    85 pidfile=`eval echo "$pidfile" | sed 's/\/\{1,\}/\//g'`
    86 ipcsocket=`eval echo "$ipcsocket" | sed 's/\/\{1,\}/\//g'`
    87 includedir=`eval echo "$includedir" | sed 's/\/\{1,\}/\//g'`
    88 pcdir=`eval echo "$pcdir" | sed 's/\/\{1,\}/\//g'`
     81pidfile=`eval echo "$pidfile/" | sed 's/\/\{1,\}/\//g'`
    8982
    9083cat<<EOF>Makefile.settings
     
    9689DATADIR=$datadir
    9790PLUGINDIR=$plugindir
     91PIDFILE=$pidfile
    9892CONFIG=$config
    99 IPCSOCKET=$ipcsocket
    100 INCLUDEDIR=$includedir
    101 PCDIR=$pcdir
    10293
    10394ARCH=$arch
     
    121112#define PLUGINDIR "$plugindir"
    122113#define PIDFILE "$pidfile"
    123 #define IPCSOCKET "$ipcsocket"
    124114#define ARCH "$arch"
    125115#define CPU "$cpu"
     
    346336fi
    347337
    348 cat <<EOF>bitlbee.pc
    349 prefix=$prefix
    350 includedir=$includedir
    351 
    352 Name: bitlbee
    353 Description: IRC to IM gateway
    354 Requires: glib-2.0
    355 Version: $BITLBEE_VERSION
    356 Libs:
    357 Cflags: -I\${includedir}
    358 
    359 EOF
    360 
    361338protocols=''
    362339protoobjs=''
  • doc/example_plugin.c

    r96ace1b rf665dab  
    33 * a shared library and place it in the plugin directory:
    44 *
    5  * gcc -o example.so -shared example.c `pkg-config --cflags bitlbee`
     5 * gcc -o example.so -shared example.c
    66 * cp example.so /usr/local/lib/bitlbee
    77 */
    88#include <stdio.h>
    9 #include <bitlbee.h>
    109
    1110void init_plugin(void)
  • ipc.c

    r96ace1b rf665dab  
    2828#include "ipc.h"
    2929#include "commands.h"
    30 #ifndef _WIN32
    31 #include <sys/un.h>
    32 #endif
    3330
    3431GSList *child_list = NULL;
     
    3734static void ipc_master_cmd_client( irc_t *data, char **cmd )
    3835{
    39         /* Normally data points at an irc_t block, but for the IPC master
    40            this is different. We think this scary cast is better than
    41            creating a new command_t structure, just to make the compiler
    42            happy. */
    4336        struct bitlbee_child *child = (void*) data;
    4437       
     
    464457}
    465458
    466 
    467 static gboolean new_ipc_client (GIOChannel *gio, GIOCondition cond, gpointer data)
    468 {
    469         struct bitlbee_child *child = g_new0( struct bitlbee_child, 1 );
    470         int serversock;
    471 
    472         serversock = g_io_channel_unix_get_fd(gio);
    473 
    474         child->ipc_fd = accept(serversock, NULL, 0);
    475 
    476         if (child->ipc_fd == -1) {
    477                 log_message( LOGLVL_WARNING, "Unable to accept connection on UNIX domain socket: %s", strerror(errno) );
    478                 return TRUE;
    479         }
    480                
    481         child->ipc_inpa = gaim_input_add( child->ipc_fd, GAIM_INPUT_READ, ipc_master_read, child );
    482                
    483         child_list = g_slist_append( child_list, child );
    484 
    485         return TRUE;
    486 }
    487 
    488 #ifndef _WIN32
    489 int ipc_master_listen_socket()
    490 {
    491         struct sockaddr_un un_addr;
    492         int serversock;
    493         GIOChannel *gio;
    494 
    495         /* Clean up old socket files that were hanging around.. */
    496         if (unlink(IPCSOCKET) == -1 && errno != ENOENT) {
    497                 log_message( LOGLVL_ERROR, "Could not remove old IPC socket at %s: %s", IPCSOCKET, strerror(errno) );
    498                 return 0;
    499         }
    500 
    501         un_addr.sun_family = AF_UNIX;
    502         strcpy(un_addr.sun_path, IPCSOCKET);
    503 
    504         serversock = socket(AF_UNIX, SOCK_STREAM, PF_UNIX);
    505 
    506         if (serversock == -1) {
    507                 log_message( LOGLVL_WARNING, "Unable to create UNIX socket: %s", strerror(errno) );
    508                 return 0;
    509         }
    510 
    511         if (bind(serversock, &un_addr, sizeof(un_addr)) == -1) {
    512                 log_message( LOGLVL_WARNING, "Unable to bind UNIX socket to %s: %s", IPCSOCKET, strerror(errno) );
    513                 return 0;
    514         }
    515 
    516         if (listen(serversock, 5) == -1) {
    517                 log_message( LOGLVL_WARNING, "Unable to listen on UNIX socket: %s", strerror(errno) );
    518                 return 0;
    519         }
    520        
    521         gio = g_io_channel_unix_new(serversock);
    522        
    523         if (gio == NULL) {
    524                 log_message( LOGLVL_WARNING, "Unable to create IO channel for unix socket" );
    525                 return 0;
    526         }
    527 
    528         g_io_add_watch(gio, G_IO_IN, new_ipc_client, NULL);
    529         return 1;
    530 }
    531 #else
    532         /* FIXME: Open named pipe \\.\BITLBEE */
    533 #endif
    534 
    535459int ipc_master_load_state()
    536460{
  • ipc.h

    r96ace1b rf665dab  
    5757void ipc_master_set_statefile( char *fn );
    5858int ipc_master_load_state();
    59 int ipc_master_listen_socket();
     59
    6060
    6161extern GSList *child_list;
Note: See TracChangeset for help on using the changeset viewer.