diff --git a/src/smblib/smbdefs.h b/src/smblib/smbdefs.h index 84d57555556fec52130a0f6eb2ba98183ff3dfa2..798a6b3020f1a6063ce91f126716344f4f666597 100644 --- a/src/smblib/smbdefs.h +++ b/src/smblib/smbdefs.h @@ -571,6 +571,9 @@ typedef struct { /* Message */ *from, /* From name */ *from_ext, /* From extension */ *from_org, /* From organization */ + *from_ip, /* From IP address (e.g. "192.168.1.2") */ + *from_host, /* From host name */ + *from_prot, /* From protocol (e.g. "Telnet", "NNTP", "HTTP", etc.) */ *replyto, /* Reply-to name */ *replyto_ext, /* Reply-to extension */ *id, /* RFC822 Message-ID */ diff --git a/src/smblib/smblib.c b/src/smblib/smblib.c index f84f0653798e576f1a6bf933784af879840baaf1..fc79510942fc4ca740aba04e179d487b3cdd4667 100644 --- a/src/smblib/smblib.c +++ b/src/smblib/smblib.c @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2007 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2008 Rob Swindell - http://www.synchro.net/copyright.html * * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public License * @@ -53,7 +53,7 @@ #include "filewrap.h" /* Use smb_ver() and smb_lib_ver() to obtain these values */ -#define SMBLIB_VERSION "2.43" /* SMB library version */ +#define SMBLIB_VERSION "2.50" /* SMB library version */ #define SMB_VERSION 0x0121 /* SMB format version */ /* High byte major, low byte minor */ @@ -703,6 +703,9 @@ ulong SMBCALL smb_getmsgtxtlen(smbmsg_t* msg) static void set_convenience_ptr(smbmsg_t* msg, ushort hfield_type, void* hfield_dat) { switch(hfield_type) { /* convenience variables */ + case AUTHOR: + msg->from=(char*)hfield_dat; + break; case SENDER: if(!msg->from) { msg->from=(char*)hfield_dat; @@ -731,6 +734,15 @@ static void set_convenience_ptr(smbmsg_t* msg, ushort hfield_type, void* hfield_ if(!msg->forwarded) msg->from_net.addr=(char*)hfield_dat; break; + case SENDERIPADDR: + msg->from_ip=(char*)hfield_dat; + break; + case SENDERHOSTNAME: + msg->from_host=(char*)hfield_dat; + break; + case SENDERPROTOCOL: + msg->from_prot=(char*)hfield_dat; + break; case REPLYTO: msg->replyto=(char*)hfield_dat; break; @@ -817,6 +829,9 @@ static void clear_convenience_ptrs(smbmsg_t* msg) msg->from=NULL; msg->from_ext=NULL; msg->from_org=NULL; + msg->from_ip=NULL; + msg->from_host=NULL; + msg->from_prot=NULL; memset(&msg->from_net,0,sizeof(net_t)); msg->replyto=NULL;