From d6fd7f016431ef3f980c1cb722f9f571a7af0e08 Mon Sep 17 00:00:00 2001 From: Karl Ramm Date: Thu, 25 Dec 2008 01:11:55 +0000 Subject: change ZNotice_t around a bit, libzephyr4 --- configure | 4 ++-- debian/control | 36 ++++++++++++++++++------------------ debian/libzephyr3.files | 1 - debian/libzephyr4.files | 1 + debian/rules | 22 +++++++++++----------- h/zephyr/zephyr.h | 12 ++++++++++-- lib/Makefile.in | 2 +- lib/ZParseNot.c | 3 +++ 8 files changed, 46 insertions(+), 35 deletions(-) delete mode 100644 debian/libzephyr3.files create mode 100644 debian/libzephyr4.files diff --git a/configure b/configure index 00d5e42..44b9778 100755 --- a/configure +++ b/configure @@ -24646,7 +24646,7 @@ if test "${ac_cv_lib_krb5_krb5_init_context+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lkrb5 $LIBS" +LIBS="-lkrb5 -lk5crypto -lcom_err $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -24709,7 +24709,7 @@ echo "$as_me: error: Kerberos 5 libraries not found" >&2;} { (exit 1); exit 1; }; } fi - KRB5_LIBS="-lkrb5" + KRB5_LIBS="-lkrb5 -lk5crypto -lcom_err" cat >>confdefs.h <<\_ACEOF #define HAVE_KRB5 1 _ACEOF diff --git a/debian/control b/debian/control index 1950056..ae6e4bc 100644 --- a/debian/control +++ b/debian/control @@ -6,24 +6,24 @@ Uploaders: Karl Ramm , Sam Hartman Build-Depends: debhelper (>= 4), libares-dev, libkrb5-dev (>= 1.2.2-4), comerr-dev, ss-dev, libreadline5-dev, libx11-dev, libxt-dev, x-dev, libxaw7-dev | libxaw8-dev, libxmu-dev, libncurses5-dev, bison, libhesiod-dev, libssl-dev Standards-Version: 3.7.2.2 -Package: libzephyr3 +Package: libzephyr4 Section: libs Architecture: any Depends: ${shlibs:Depends} -Conflicts: libzephyr3-krb, libzephyr3-krb5, libzephyr3-krb45 +Conflicts: libzephyr4-krb, libzephyr4-krb5, libzephyr4-krb45 Description: The original "Instant Message" system libraries without Kerberos This is the Project Athena Zephyr notification system 2000/04/21 snapshot. Zephyr allows users to send messages to other users or to groups of users. Users can view incoming Zephyr messages as windowgrams (transient X windows) or as text on a terminal. -Package: libzephyr3-krb +Package: libzephyr4-krb Section: libs Architecture: any Depends: ${shlibs:Depends}, krb4-config -Conflicts: libzephyr3, libzephyr3-krb5, libzephyr3-krb45 -Replaces: libzephyr3, libzephyr3-krb5, libzephyr3-krb45 -Provides: libzephyr3 +Conflicts: libzephyr4, libzephyr4-krb5, libzephyr4-krb45 +Replaces: libzephyr4, libzephyr4-krb5, libzephyr4-krb45 +Provides: libzephyr4 Description: The original "Instant Message" system libraries with Kerberos This version of the library uses Kerberos for message authentication. . @@ -32,13 +32,13 @@ Description: The original "Instant Message" system libraries with Kerberos users. Users can view incoming Zephyr messages as windowgrams (transient X windows) or as text on a terminal. -Package: libzephyr3-krb5 +Package: libzephyr4-krb5 Section: libs Architecture: any Depends: ${shlibs:Depends}, krb5-config -Conflicts: libzephyr3, libzephyr3-krb, libzephyr3-krb45 -Replaces: libzephyr3, libzephyr3-krb, libzephyr3-krb45 -Provides: libzephyr3 +Conflicts: libzephyr4, libzephyr4-krb, libzephyr4-krb45 +Replaces: libzephyr4, libzephyr4-krb, libzephyr4-krb45 +Provides: libzephyr4 Description: The original "Instant Message" system libraries with Kerberos 5 This version of the library uses Kerberos for message authentication. . @@ -47,13 +47,13 @@ Description: The original "Instant Message" system libraries with Kerberos 5 users. Users can view incoming Zephyr messages as windowgrams (transient X windows) or as text on a terminal. -Package: libzephyr3-krb45 +Package: libzephyr4-krb45 Section: libs Architecture: any Depends: ${shlibs:Depends}, krb5-config -Conflicts: libzephyr3, libzephyr3-krb, libzephyr3-krb5 -Replaces: libzephyr3, libzephyr3-krb, libzephyr3-krb5 -Provides: libzephyr3 +Conflicts: libzephyr4, libzephyr4-krb, libzephyr4-krb5 +Replaces: libzephyr4, libzephyr4-krb, libzephyr4-krb5 +Provides: libzephyr4 Description: The original "Instant Message" system libraries with Kerberos 4+5 This version of the library uses Kerberos for message authentication. . @@ -96,7 +96,7 @@ Description: The original "Instant Message" system-server without Kerberos Package: zephyr-server-krb Section: net Architecture: any -Depends: ${shlibs:Depends}, debconf | debconf-2.0, libzephyr3-krb +Depends: ${shlibs:Depends}, debconf | debconf-2.0, libzephyr4-krb Conflicts: zephyr-server, zephyr-server-krb5, zephyr-server-krb45 Replaces: zephyr-server, zephyr-server-krb5, zephyr-server-krb45 Provides: zephyr-server @@ -118,7 +118,7 @@ Description: The original "Instant Message" system-server with Kerberos Package: zephyr-server-krb5 Section: net Architecture: any -Depends: ${shlibs:Depends}, debconf | debconf-2.0, libzephyr3-krb5 +Depends: ${shlibs:Depends}, debconf | debconf-2.0, libzephyr4-krb5 Conflicts: zephyr-server, zephyr-server-krb, zephyr-server-krb45 Replaces: zephyr-server, zephyr-server-krb, zephyr-server-krb45 Provides: zephyr-server @@ -140,7 +140,7 @@ Description: The original "Instant Message" system-server with Kerberos 5 Package: zephyr-server-krb45 Section: net Architecture: any -Depends: ${shlibs:Depends}, debconf | debconf-2.0, libzephyr3-krb45 +Depends: ${shlibs:Depends}, debconf | debconf-2.0, libzephyr4-krb45 Conflicts: zephyr-server, zephyr-server-krb, zephyr-server-krb5 Replaces: zephyr-server, zephyr-server-krb, zephyr-server-krb5 Provides: zephyr-server @@ -162,7 +162,7 @@ Description: The original "Instant Message" system-server with Kerberos 4+5 Package: libzephyr-dev Section: libdevel Architecture: any -Depends: libzephyr3 (= ${binary:Version}) | libzephyr3-krb (= ${binary:Version}), libc6-dev +Depends: libzephyr4 (= ${binary:Version}) | libzephyr4-krb (= ${binary:Version}), libc6-dev Description: The original "Instant Message" system development libraries This package is needed to compile certain other zephyr clients. There are various other clients available, including a totally gratuitous Motif client, diff --git a/debian/libzephyr3.files b/debian/libzephyr3.files deleted file mode 100644 index a837249..0000000 --- a/debian/libzephyr3.files +++ /dev/null @@ -1 +0,0 @@ -usr/lib/libzephyr.so.* diff --git a/debian/libzephyr4.files b/debian/libzephyr4.files new file mode 100644 index 0000000..a837249 --- /dev/null +++ b/debian/libzephyr4.files @@ -0,0 +1 @@ +usr/lib/libzephyr.so.* diff --git a/debian/rules b/debian/rules index 231ca17..7d7bd51 100755 --- a/debian/rules +++ b/debian/rules @@ -85,7 +85,7 @@ clean: -rm debian/zephyr-server-krb.postinst -rm debian/zephyr-server-krb5.* -rm debian/zephyr-server-krb45.* - -rm debian/libzephyr3-krb.files debian/libzephyr3-krb5.files debian/libzephyr3-krb45.files + -rm debian/libzephyr4-krb.files debian/libzephyr4-krb5.files debian/libzephyr4-krb45.files dh_clean @@ -129,13 +129,13 @@ binary-arch: build install cp debian/zephyr-server-krb.$$file debian/zephyr-server-krb5.$$file; \ cp debian/zephyr-server-krb.$$file debian/zephyr-server-krb45.$$file; \ done - cp debian/libzephyr3.files debian/libzephyr3-krb.files - cp debian/libzephyr3.files debian/libzephyr3-krb5.files - cp debian/libzephyr3.files debian/libzephyr3-krb45.files - dh_movefiles -plibzephyr3 -pzephyr-clients -pzephyr-server -plibzephyr-dev - dh_movefiles --sourcedir=debian/tmp-krb4 -plibzephyr3-krb -pzephyr-server-krb - dh_movefiles --sourcedir=debian/tmp-krb5 -plibzephyr3-krb5 -pzephyr-server-krb5 - dh_movefiles --sourcedir=debian/tmp-krb45 -plibzephyr3-krb45 -pzephyr-server-krb45 + cp debian/libzephyr4.files debian/libzephyr4-krb.files + cp debian/libzephyr4.files debian/libzephyr4-krb5.files + cp debian/libzephyr4.files debian/libzephyr4-krb45.files + dh_movefiles -plibzephyr4 -pzephyr-clients -pzephyr-server -plibzephyr-dev + dh_movefiles --sourcedir=debian/tmp-krb4 -plibzephyr4-krb -pzephyr-server-krb + dh_movefiles --sourcedir=debian/tmp-krb5 -plibzephyr4-krb5 -pzephyr-server-krb5 + dh_movefiles --sourcedir=debian/tmp-krb45 -plibzephyr4-krb45 -pzephyr-server-krb45 dh_installdebconf dh_installdocs dh_installinit -pzephyr-clients --init-script=zhm --no-start @@ -150,9 +150,9 @@ binary-arch: build install # You may want to make some executables suid here. dh_makeshlibs # sigh - cp debian/libzephyr3/DEBIAN/shlibs debian/libzephyr3-krb/DEBIAN/shlibs - cp debian/libzephyr3/DEBIAN/shlibs debian/libzephyr3-krb5/DEBIAN/shlibs - cp debian/libzephyr3/DEBIAN/shlibs debian/libzephyr3-krb45/DEBIAN/shlibs + cp debian/libzephyr4/DEBIAN/shlibs debian/libzephyr4-krb/DEBIAN/shlibs + cp debian/libzephyr4/DEBIAN/shlibs debian/libzephyr4-krb5/DEBIAN/shlibs + cp debian/libzephyr4/DEBIAN/shlibs debian/libzephyr4-krb45/DEBIAN/shlibs dh_shlibdeps dh_installdeb dh_gencontrol diff --git a/h/zephyr/zephyr.h b/h/zephyr/zephyr.h index 0346e05..5967707 100644 --- a/h/zephyr/zephyr.h +++ b/h/zephyr/zephyr.h @@ -74,12 +74,20 @@ typedef struct _ZNotice_t { char *z_version; ZNotice_Kind_t z_kind; ZUnique_Id_t z_uid; -#define z_sender_addr z_uid.zuid_addr + union { + struct sockaddr sa; + struct sockaddr_in ip4; + struct sockaddr_in6 ip6; + } z_sender_sockaddr; + /* heavily deprecated: */ +#define z_sender_addr z_sender_sockaddr.ip4.sin_addr + /* probably a bad idea?: */ +#define z_port z_sender_sockaddr.ip4.sin_port struct _ZTimeval z_time; - unsigned short z_port; int z_auth; int z_checked_auth; int z_authent_len; + int z_charset; char *z_ascii_authent; char *z_class; char *z_class_inst; diff --git a/lib/Makefile.in b/lib/Makefile.in index 64e3692..1e80f84 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -47,7 +47,7 @@ OBJS = zephyr_err.lo ZAsyncLocate.lo ZCkAuth.lo ZCkIfNot.lo ZClosePort.lo \ all: libzephyr.la libzephyr.la: ${OBJS} - ${LIBTOOL} --mode=link ${CC} -rpath ${libdir} -version-info 3:0:0 \ + ${LIBTOOL} --mode=link ${CC} -rpath ${libdir} -version-info 4:0:0 \ ${LDFLAGS} -o $@ ${OBJS} ${LIBS} zephyr_err.c ${BUILDTOP}/h/zephyr/zephyr_err.h: zephyr_err.et diff --git a/lib/ZParseNot.c b/lib/ZParseNot.c index 72a7587..48fc29e 100644 --- a/lib/ZParseNot.c +++ b/lib/ZParseNot.c @@ -117,6 +117,9 @@ ZParseNotice(char *buffer, BAD_PACKET; notice->z_time.tv_sec = ntohl((u_long) notice->z_uid.tv.tv_sec); notice->z_time.tv_usec = ntohl((u_long) notice->z_uid.tv.tv_usec); + memset(¬ice->z_sender_sockaddr, 0, sizeof notice->z_sender_sockaddr); + notice->z_sender_sockaddr.ip4.sin_family = AF_INET; + notice->z_sender_sockaddr.ip4.sin_addr = notice->z_uid.zuid_addr; numfields--; ptr = next_field(ptr, end); } -- cgit v1.2.3