Update of /cvsroot/fink/dists/10.3/unstable/main/finkinfo/net In directory sc8-pr-cvs1:/tmp/cvs-serv22494
Modified Files: gftp.info Added Files: drac1.info drac1.patch exact.info Log Message: adding pkgs, updates, new file names, etc, etc --- NEW FILE: drac1.info --- Package: drac1 Version: 1.12 Revision: 1 ### Depends: db41-shlibs | db41-ssl-shlibs, %N-shlibs BuildDepends: db41 | db41-ssl ### Source: ftp://ftp.cc.umanitoba.ca/src/drac.tar.Z Source-MD5: fadaee589bf1dd9067222d58637d5fe4 NoSourceDirectory: true ### PatchScript: << sed -e 's,@FINKPREFIX@,%p,g' %a/%n.patch | patch -p1 << ### DocFiles: COPYRIGHT Changes INSTALL PORTING README ConfFiles: << %p/etc/drac/dracd.allow %p/var/lib/drac/dracd.db << ### CompileScript: << make << ### InstallScript: << mkdir -p %i/sbin mkdir -p %i/share/man/man3 mkdir -p %i/share/man/man8 mkdir -p %i/lib mkdir -p %i/include mkdir -p %i/etc/drac mkdir -p %i/var/lib/drac make install DESTDIR=%d touch %i/var/lib/drac/dracd.db install -m 664 dracd.allow-sample %i/etc/drac/dracd.allow install -m 644 libdrac.a %i/lib install -m 644 drac.h %i/include install -m 644 libdrac.1.12.0.dylib %i/lib ln -s %p/lib/libdrac.1.12.0.dylib %i/lib/libdrac.1.dylib ln -s %p/lib/libdrac.1.12.0.dylib %i/lib/libdrac.dylib << ### SplitOff: << Package: %N-dev Files: << lib/libdrac.a lib/libdrac.dylib include << Description: Dynamic Relay Authorization Control (develpement files) << SplitOff2: << Package: %N-shlibs Depends: db41-shlibs | db41-ssl-shlibs Files: << lib/libdrac.*.dylib << Shlibs: << %p/lib/libdrac.1.dylib 1.0.0 %n (>= 1.12-1) << Description: Dynamic Relay Authorization Control (shared libraries) << ### PostInstScript: << # update init script if necessary daemonic update drac << PreRmScript: << # clean up [ -f %p/var/run/drac.pid ] && kill `cat %p/var/run/drac.pid` if [ $1 != "upgrade" ]; then daemonic remove drac fi << ### DaemonicName: drac DaemonicFile: << <service> <description>Dynamic Relay Authorization Control</description> <message>Dynamic Relay Authorization Control</message> <daemon name="drac"> <executable background="yes">%p/sbin/rpc.dracd</executable> <parameters> -i -e 30 %p/var/lib/drac/dracd.db</parameters> <configfile>%p/etc/ffserver.conf</configfile> <pidfile>%p/var/run/drac.pid</pidfile> </daemon> </service> << ### Description: Dynamic Relay Authorization Control DescDetail: << DRAC is a daemon that dynamically updates a relay authorization map for sendmail. It provides a way to allow legitimate users to relay mail through an SMTP server, while still preventing others from using it as a spam relay. User's IP addresses are added to the map immediately after they have authenticated to the POP or IMAP server. By default, map entries expire after 30 minutes, but can be renewed by additional authentication. Periodically checking mail on a POP server is sufficient to do this. The POP and SMTP servers can be on different hosts. << ### License: GPL Maintainer: Justin F. Hallett <[EMAIL PROTECTED]> Homepage: http://mail.cc.umanitoba.ca/drac --- NEW FILE: drac1.patch --- diff -ruN drac.orig/Makefile drac/Makefile --- drac.orig/Makefile Sun Jan 12 13:45:12 2003 +++ drac/Makefile Thu Jun 19 15:10:17 2003 @@ -5,9 +5,10 @@ # Paths -INSTALL = /usr/ucb/install -EBIN = /usr/local/sbin -MAN = /usr/local/man/man +DESTDIR = +INSTALL = /usr/bin/install +EBIN = @FINKPREFIX@/sbin +MAN = @FINKPREFIX@/share/man/man # OS-Dependant settings @@ -33,26 +34,26 @@ # -DCIDR_KEY # keys in CIDR format # -DTERM_KD # keys and data nul-terminated -DEFS = -DTI_RPC -DFCNTL_LOCK -DSYSINFO +DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C # Compiler flags CC = cc -RANLIB = : -CFLAGS = $(DEFS) -g -I/usr/local/src/db/db-4.1.25/build_unix +RANLIB = /usr/bin/ranlib +CFLAGS = $(DEFS) -g -fno-common [EMAIL PROTECTED]@/include/db4 #CFLAGS = $(DEFS) -g -I/usr/local/src/db/db-3.1.17/build_unix #CFLAGS = $(DEFS) -g -I/usr/local/src/db/db-2.4.14/Unix #CFLAGS = $(DEFS) -g -I/usr/local/src/db/db.1.85/PORT/sunos.5.2/include -LDLIBS = -L/usr/local/src/db/db-4.1.25/build_unix -lnsl -ldb-4.1 +LDLIBS = [EMAIL PROTECTED]@/lib -ldb-4.1 #LDLIBS = -L/usr/local/src/db/db-3.1.17/build_unix -lnsl -ldb #LDLIBS = -L/usr/local/src/db/db-2.4.14/Unix -lnsl -ldb #LDLIBS = -L/usr/local/src/db/db.1.85/PORT/sunos.5.2 -lnsl -ldb -TSTLIBS = -L. -ldrac -lnsl -RPCGENFLAGS = -#RPCGENFLAGS = -C +TSTLIBS = -L. -ldrac +#RPCGENFLAGS = +RPCGENFLAGS = -C # Man sections MANLIB = 3 -MANADM = 1m +MANADM = 8 ## Nothing to change after this point @@ -70,6 +71,7 @@ # Final targets CLIENT = testing +CLIENT6 = testing6 SERVER = rpc.dracd LIBRAR = libdrac.a @@ -86,13 +88,14 @@ LIB_OBJ = dracauth.o SVC_OBJ = rpc.dracd.o TST_OBJ = testing.o +TST6_OBJ = testing6.o H_OBJS = drac_xdr.o drac_svc.o drac_clnt.o $(SVC_OBJ) $(LIB_OBJ) L_OBJS = $(LIB_OBJ) drac_xdr.o drac_clnt.o S_OBJS = $(SVC_OBJ) drac_xdr.o drac_svc.o # Rules -all: $(CLIENT) $(SERVER) +all: $(CLIENT) $(CLIENT6) $(SERVER) $(RPC_ALL): $(RPC_SRC) rpcgen $(RPCGENFLAGS) $(RPC_SRC) @@ -103,12 +106,18 @@ $(LIBRAR): $(L_OBJS) rm -f $@ + cc -dynamiclib -install_name @FINKPREFIX@/lib/libdrac.1.dylib \ + -compatibility_version 1.0 -current_version 1.12.0 \ + -o libdrac.1.12.0.dylib $(L_OBJS) ar cq $@ $(L_OBJS) $(RANLIB) $@ $(CLIENT): $(TST_OBJ) $(LIBRAR) $(CC) -o $(CLIENT) $(TST_OBJ) $(TSTLIBS) +$(CLIENT6): $(TST6_OBJ) $(LIBRAR) + $(CC) -o $(CLIENT6) $(TST6_OBJ) $(TSTLIBS) + $(SERVER): $(S_OBJS) $(CC) -o $(SERVER) $(S_OBJS) $(LDLIBS) @@ -120,9 +129,9 @@ tar cf drac.tar $(PACKAGE) install: $(SERVER) - $(INSTALL) -c -o bin -g bin -m 0755 $(SERVER) $(EBIN) + $(INSTALL) -c -m 0755 $(SERVER) $(DESTDIR)$(EBIN) install-man: $(SERVER).1m dracauth.3 - $(INSTALL) -c -m 0444 $(SERVER).1m $(MAN)$(MANADM)/$(SERVER).$(MANADM) - $(INSTALL) -c -m 0444 dracauth.3 $(MAN)$(MANLIB)/dracauth.$(MANLIB) + $(INSTALL) -c -m 0444 $(SERVER).1m $(DESTDIR)$(MAN)$(MANADM)/$(SERVER).$(MANADM) + $(INSTALL) -c -m 0444 dracauth.3 $(DESTDIR)$(MAN)$(MANLIB)/dracauth.$(MANLIB) diff -ruN drac.orig/drac.x drac/drac.x --- drac.orig/drac.x Mon Aug 10 20:01:18 1998 +++ drac/drac.x Thu Jun 19 14:55:56 2003 @@ -17,6 +17,10 @@ unsigned long ip_addr; /* In network order */ }; +struct drac_add_parm6 { + char ip_addr6[16]; /* In network order */ +}; + enum addstat { ADD_SUCCESS, /* Succeeded */ ADD_PERM, /* Permission denied */ @@ -32,4 +36,11 @@ addstat DRACPROC_ADD(drac_add_parm) = 1; } = 1; + version DRACVERS6 { + /* + * Update my passwd entry + */ + addstat + DRACPROC_ADD(drac_add_parm6) = 1; + } = 2; } = 900101; diff -ruN drac.orig/dracauth.c drac/dracauth.c --- drac.orig/dracauth.c Thu Jun 24 20:15:12 1999 +++ drac/dracauth.c Thu Jun 19 15:01:54 2003 @@ -135,4 +135,121 @@ return 0; } +int +dracauth6(server, userip6, errmsg) + char *server; unsigned char userip6[16]; char **errmsg; { + + CLIENT *clnt6; + addstat *result; + drac_add_parm6 dracproc_add_2_arg; + +#ifdef TI_RPC + clnt6 = clnt_create(server, DRACPROG, DRACVERS6, "datagram_v"); +#endif +#ifdef SOCK_RPC + clnt6 = clnt_create(server, DRACPROG, DRACVERS6, "udp"); +#endif + if (clnt6 == (CLIENT *) NULL) { + if ( errmsg ) *errmsg = clnt_spcreateerror(server); + return (-1); + } + memcpy(dracproc_add_2_arg.ip_addr6, userip6, + sizeof(dracproc_add_2_arg.ip_addr6)); + result = dracproc_add_2(&dracproc_add_2_arg, clnt6); + if (result == (addstat *) NULL) { + if ( errmsg ) *errmsg = clnt_sperror(clnt, "call failed"); + clnt_destroy(clnt6); + return (-2); + } + clnt_destroy(clnt6); + if ( errmsg ) { + switch (*result) { + case ADD_SUCCESS: + *errmsg = "Server reports add succeeded"; + break; + case ADD_PERM: + *errmsg = "Server reports permission denied"; + break; + case ADD_SYSERR: + *errmsg = "Server reports system error"; + break; + default: + *errmsg = "Server reports unknown error"; + } + } + return *result; +} + +static CLIENT *clnt6; + +int +dracconn6(server, errmsg) + char *server; char **errmsg; { + +#ifdef TI_RPC + clnt6 = clnt_create(server, DRACPROG, DRACVERS6, "datagram_v"); +#endif +#ifdef SOCK_RPC + clnt6 = clnt_create(server, DRACPROG, DRACVERS6, "udp"); +#endif + if (clnt6 == (CLIENT *) NULL) { + if ( errmsg ) *errmsg = clnt_spcreateerror(server); + return (-1); + } + if ( errmsg ) *errmsg = "Connect succeeded"; + return 0; +} + + +int +dracsend6(userip6, errmsg) + unsigned char userip6[16]; char **errmsg; { + + addstat *result; + drac_add_parm6 dracproc_add_2_arg; + + if (clnt6 == (CLIENT *) NULL) { + if ( errmsg ) *errmsg = "Not connected"; + return (-1); + } + memcpy(dracproc_add_2_arg.ip_addr6, userip6, + sizeof(dracproc_add_2_arg.ip_addr6)); + result = dracproc_add_2(&dracproc_add_2_arg, clnt6); + if (result == (addstat *) NULL) { + if ( errmsg ) *errmsg = clnt_sperror(clnt6, "call failed"); + return (-2); + } + if ( errmsg ) { + switch (*result) { + case ADD_SUCCESS: + *errmsg = "Server reports add succeeded"; + break; + case ADD_PERM: + *errmsg = "Server reports permission denied"; + break; + case ADD_SYSERR: + *errmsg = "Server reports system error"; + break; + default: + *errmsg = "Server reports unknown error"; + } + } + return *result; +} + + +int +dracdisc6(errmsg) + char **errmsg; { + + if (clnt6 == (CLIENT *) NULL) { + if ( errmsg ) *errmsg = "Not connected"; + return (-1); + } + clnt_destroy(clnt6); + clnt6 = (CLIENT *) NULL; + if ( errmsg ) *errmsg = "Disconnect succeeded"; + return 0; +} + /**/ diff -ruN drac.orig/rpc.dracd.1m drac/rpc.dracd.1m --- drac.orig/rpc.dracd.1m Thu Jul 23 09:13:59 1998 +++ drac/rpc.dracd.1m Thu Jun 19 15:06:30 2003 @@ -2,7 +2,7 @@ '\"macro stdmacro .\" Copyright University of Manitoba 1998. .nr X -.TH rpc.dracd 1M "22 Jul 1998" +.TH rpc.dracd 8 "22 Jul 1998" .SH NAME rpc.dracd \- Dynamic Relay Authorization Control server .SH SYNOPSIS @@ -16,13 +16,13 @@ \f4rpc.dracd\f1 is the Dynamic Relay Authorization Control server. It uses the Berkeley db package to maintain a relay authorization -map for sendmail, by default \f4/etc/mail/dracd.db\f1. +map for sendmail, by default [EMAIL PROTECTED]@/var/lib/drac/dracd.db\f1. POP and IMAP mail servers make an RPC call to add an entry to the authorization cache after they have authenticated each user. The daemon, rpc.dracd, adds or updates entries in the cache, and periodically expires old entries. Only trusted mail servers are permitted to communicate with rpc.dracd, -as controlled by \f4/etc/mail/dracd.allow\f1. +as controlled by [EMAIL PROTECTED]@/var/lib/drac/dracd.allow\f1. If this file does not exist, all local IP addresses are permitted. .SS Allow File Format The Allow File file consists of entries of the form: @@ -58,10 +58,10 @@ .SH FILES .PD 0 .TP 30 -.B /etc/mail/dracd.db +.B @FINKPREFIX@/var/lib/drac/dracd.db default database file .TP -.B /etc/mail/dracd.allow +.B @FINKPREFIX@/etc/drac/dracd.allow default allow file. .PD .SH SEE ALSO diff -ruN drac.orig/rpc.dracd.c drac/rpc.dracd.c --- drac.orig/rpc.dracd.c Sun Jan 12 13:22:22 2003 +++ drac/rpc.dracd.c Thu Jun 19 15:05:05 2003 @@ -36,8 +36,8 @@ #endif #include "drac.h" -#define DBFILE "/etc/mail/dracd.db" -#define ALFILE "/etc/mail/dracd.allow" +#define DBFILE "@FINKPREFIX@/var/lib/drac/dracd.db" +#define ALFILE "@FINKPREFIX@/etc/drac/dracd.allow" struct net_def { struct net_def *nd_next; @@ -354,6 +354,128 @@ /* Send result code back to client */ return (&result); +} + +/* Add an entry to the database */ +addstat * +#ifdef DASH_C +dracproc_add_2_svc(argp, rqstp) +#else +dracproc_add_2(argp, rqstp) +#endif + drac_add_parm6 *argp; + struct svc_req *rqstp; { + + static addstat result; + char buf[INET6_ADDRSTRLEN]; +#ifdef TI_RPC + struct netbuf *nb; + struct netconfig *nc; + char *cad, *pt; +#endif +#ifdef SOCK_RPC + struct sockaddr_in *si; +#endif + struct in_addr client_ip; + struct in6_addr requ_ip; + DBT key, data; + char akey[INET6_ADDRSTRLEN+4], alimit[32]; + struct net_def *nd; + + result = ADD_SUCCESS; + + /* Get the IP address of the client */ +#ifdef TI_RPC + if ( (nc = getnetconfigent(rqstp->rq_xprt->xp_netid)) == NULL + || (nb = svc_getrpccaller(rqstp->rq_xprt)) == NULL + || (cad = taddr2uaddr(nc, nb)) == NULL ) { + if (nc) freenetconfigent(nc); + result = ADD_SYSERR; + return (&result); + } + if ( (pt = strrchr(cad, '.')) != NULL ) *pt = '\0'; + if ( (pt = strrchr(cad, '.')) != NULL ) *pt = '\0'; + client_ip.s_addr = inet_addr(cad); + freenetconfigent(nc); + free(cad); +#endif +#ifdef SOCK_RPC + if ( (si = svc_getcaller(rqstp->rq_xprt)) == NULL ) { + result = ADD_SYSERR; + return (&result); + } + client_ip.s_addr = si->sin_addr.s_addr; +#endif +#ifdef DEBUG + fprintf(debugf, "Client Address: %s\n", inet_ntoa(client_ip)); + fflush(debugf); +#endif + + /* Check agains the table of trusted clients */ + for ( nd = net_tbl; nd != NULL; nd = nd->nd_next ) { + if ( (client_ip.s_addr & nd->nd_mask.s_addr) + == nd->nd_addr.s_addr ) break; + } + if ( nd == NULL ) { + result = ADD_PERM; + return (&result); + } + + /* Set up for the add */ + memcpy(requ_ip.s6_addr, argp->ip_addr6, + sizeof(requ_ip.s6_addr)); +#ifdef DEBUG + fprintf(debugf, "Requested IP Address: %s\n", + inet_ntop(AF_INET6, requ_ip.s6_addr, buf, sizeof(buf))); + fflush(debugf); +#endif + memset(&key, 0, sizeof(DBT)); + memset(&data, 0, sizeof(DBT)); + inet_ntop(AF_INET6, requ_ip.s6_addr, akey, sizeof(akey)-4); +#ifdef CIDR_KEY + strcat(akey, "/128"); +#endif + key.data = akey; +#ifdef TERM_KD + key.size = strlen(akey) + 1; +#else + key.size = strlen(akey); +#endif + sprintf(alimit, "%lu", time((time_t *)NULL) + explimit); + data.data = alimit; +#ifdef TERM_KD + data.size = strlen(alimit) + 1; +#else + data.size = strlen(alimit); +#endif + + /* Do the add and sync, with locking */ + if ( lockdb() == (-1) ) { + syslog(LOG_ERR, "dracproc_add_1 lockdb failed: %m"); + } +#if DB_VERSION_MAJOR < 2 + errno = 0; + dbp->put(dbp, &key, &data, 0); +#else + errno = dbp->put(dbp, NULL, &key, &data, 0); +#endif + if ( errno != 0 ) { + syslog(LOG_ERR, "dracproc_add_1 put failed: %m"); + result = ADD_SYSERR; + } +#if DB_VERSION_MAJOR < 2 + errno = 0; + dbp->sync(dbp, 0); +#else + errno = dbp->sync(dbp, 0); +#endif + if ( errno != 0 ) { + syslog(LOG_ERR, "dracproc_add_1 sync failed: %m"); + } + (void)unlockdb(); + + /* Send result code back to client */ + return (&result); } /* Expire old entries from the database */ diff -ruN drac.orig/testing6.c drac/testing6.c --- drac.orig/testing6.c Wed Dec 31 17:00:00 1969 +++ drac/testing6.c Thu Jun 19 14:58:06 2003 @@ -0,0 +1,28 @@ +/* + * Test client for dracauth + */ + +#include <stdio.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <arpa/inet.h> + +main(argc, argv) + int argc; + char *argv[]; +{ + int rc; + char *host; + unsigned char ip6[16]; + char *err; + + if (argc < 3) { + printf("usage: %s server_host client_addr\n", argv[0]); + exit(1); + } + host = argv[1]; + inet_pton(AF_INET6, argv[2], ip6); + rc = dracauth6(host, ip6, &err); + if (rc != 0) printf("%s: %s\n", argv[0], err); +} --- NEW FILE: exact.info --- Package: exact Version: 1.38 Revision: 1 ### Depends: daemonic ### Source: http://www.britishsteal.com/dist/%n/%n-%v.tar.gz Source-MD5: 4fb337e46b2b7a78b9843fff4e52b4b7 ### DocFiles: INSTALL NEWS README* ConfFiles: %p/etc/exact.conf ### ConfigureParams: --with-watch=%p/var/log/mail.log --with-user=smmsp --with-group=smmsp --mandir=%i/share/man --infodir=%p/share/info --libexecdir=%p/lib ### PostInstScript: << # update init script if necessary daemonic update %n << PreRmScript: << # clean up [ -f %p/var/run/%n/%n.pid ] && kill `cat %p/var/run/%n/%n.pid` if [ $1 != "upgrade" ]; then daemonic remove %n fi << ### DaemonicName: exact DaemonicFile: << <service> <description>POP/IMAP before SMTP authentication</description> <message>POP/IMAP before SMTP authentication</message> <daemon name="exact"> <executable background="yes">%p/sbin/exact</executable> <!-- the daemon will background itself, but may take a while to start up to the point where it does so --> <pidfile>%p/var/run/exact/exact.pid</pidfile> </daemon> </service> << ### Description: POP (or IMAP) before SMTP authentication daemon DescDetail: << EXACT is a program that implements POP Before SMTP Relay Authentication. EXACT supports the University of Washington IMAP server, the Cyrus IMAP server, EXIM and Sendmail. POP Before SMTP Relay Authentication is commonly used on systems that provide both IMAP or POP services and SMTP services, to authenticate users for mail sending based on their previous authentication against an IMAP or POP server. << ### License: GPL Maintainer: Justin F. Hallett <[EMAIL PROTECTED]> Homepage: http://www.britishsteal.com/dist/exact/ Index: gftp.info =================================================================== RCS file: /cvsroot/fink/dists/10.3/unstable/main/finkinfo/net/gftp.info,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- gftp.info 8 Nov 2003 20:15:03 -0000 1.2 +++ gftp.info 11 Nov 2003 03:19:58 -0000 1.3 @@ -1,6 +1,6 @@ Package: gftp -Version: 2.0.15 -Revision: 2 +Version: 2.0.16 +Revision: 1 ### Depends: x11, gdk-pixbuf-shlibs, atk1-shlibs, pango1-shlibs, glib-shlibs, glib2-shlibs, gtk+2, gtk+2-shlibs, readline-shlibs (>= 4.3-5) BuildDepends: gdk-pixbuf, atk1, pango1-dev, glib, glib2-dev, gtk+2-dev, pkgconfig, readline (>= 4.3-5) @@ -8,7 +8,7 @@ Replaces: gftp-ssl ### Source: http://gftp.seul.org/%n-%v.tar.gz -Source-MD5: 5a076c251c1d81cace49ebe197c0d70a +Source-MD5: 94069bfbfdebd5f00eb881fe9440534b ### ConfigureParams: --disable-ssl --mandir=%i/share/man --infodir=%p/share/info --libexecdir=%p/lib ### @@ -33,9 +33,6 @@ downloading of entire directories, FTP and HTTP proxy support, remote directory caching, passive and non-passive file transfers, drag-n-drop support, a very nice connection manager, and more. -<< -DescPort: << -Disabled pthread_kill() till OSX 10.2, so the stop button doesn't work. << ### License: GPL ------------------------------------------------------- This SF.Net email sponsored by: ApacheCon 2003, 16-19 November in Las Vegas. Learn firsthand the latest developments in Apache, PHP, Perl, XML, Java, MySQL, WebDAV, and more! http://www.apachecon.com/ _______________________________________________ Fink-commits mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/fink-commits