summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--PumpKINDlg.cpp8
-rw-r--r--install/install.cpp2
-rw-r--r--install/install.rc8
-rw-r--r--pumpkin.rc10
4 files changed, 16 insertions, 12 deletions
diff --git a/PumpKINDlg.cpp b/PumpKINDlg.cpp
index 1e6d03f..0b3bf41 100644
--- a/PumpKINDlg.cpp
+++ b/PumpKINDlg.cpp
@@ -1125,195 +1125,199 @@ CString tmp;
}
void CXferSocket::TurnSlashes(CString& fn,BOOL bBack)
{
int s = fn.Find(bBack?'/':'\\');
while(s>=0){
fn.SetAt(s,bBack?'\\':'/');
s = fn.Find(bBack?'/':'\\');
}
}
CString CXferSocket::ApplyRoot(LPCTSTR fileName)
{
ASSERT(m_Daddy);
CString fn = fileName;
CString rv = m_Daddy->m_TFTPRoot;
if(rv.IsEmpty())
rv = ".";
if(rv[rv.GetLength()-1]!='\\')
rv+="\\";
while((!fn.IsEmpty()) && fn[0]=='\\')
fn=fn.Mid(1);
rv+=fn;
return rv;
}
void CPumpKINDlg::OnOptions()
{
CPropertySheet cps(IDS_TITLE_OPTIONS,this);
CPropsServer server;
CPropsNetwork network;
CPropsSounds sounds;
server.m_RRQMode=m_RRQMode;
server.m_TFTPRoot=m_TFTPRoot;
server.m_TFTPSubdirs=m_bTFTPSubdirs;
server.m_WRQMode=m_WRQMode;
server.m_PromptTimeOut=m_PromptTimeOut;
network.m_ListenPort=m_ListenPort;
network.m_SpeakPort=m_SpeakPort;
network.m_TimeOut=m_TFTPTimeOut.GetTotalSeconds();
network.m_BlockSize=m_BlockSize;
sounds.m_Request = m_bnwRequest;
sounds.m_Success = m_bnwSuccess;
sounds.m_Abort = m_bnwAbort;
cps.AddPage(&server);
cps.AddPage(&network);
cps.AddPage(&sounds);
if(cps.DoModal()==IDOK){
m_RRQMode=server.m_RRQMode;
m_TFTPRoot=server.m_TFTPRoot;
m_bTFTPSubdirs=server.m_TFTPSubdirs;
m_WRQMode=server.m_WRQMode;
m_PromptTimeOut=server.m_PromptTimeOut;
m_ListenPort=network.m_ListenPort;
m_SpeakPort=network.m_SpeakPort;
m_TFTPTimeOut=CTimeSpan(network.m_TimeOut);
m_BlockSize=network.m_BlockSize;
m_bnwRequest = sounds.m_Request;
m_bnwSuccess = sounds.m_Success;
m_bnwAbort = sounds.m_Abort;
}
}
BOOL CRRQSocket::ConfirmRequest()
{
CConfirmRRQDlg cd(NULL);
cd.m_Daddy=this;
cd.m_File=m_FileName;
cd.m_Host=inet_ntoa(m_Peer.sin_addr);
if(cd.DoModal()==IDOK)
return TRUE;
return FALSE;
}
CWRQSocket::CWRQSocket(CPumpKINDlg* daddy,LPCTSTR fileName,LPCTSTR type,SOCKADDR_IN *sin)
: CXferSocket(daddy,fileName,type,sin)
{
state=stateNone;
m_ACK=0;
m_LastSlack=0;
m_bResume=FALSE;
}
BOOL CWRQSocket::Create(LPCTSTR localFile,LPCTSTR hostName)
{
if(!CAsyncSocket::Create(0,SOCK_DGRAM))
return FALSE;
ASSERT(m_Daddy);
ASSERT(m_Peer.sin_addr.s_addr!=INADDR_NONE || hostName);
m_Daddy->m_Xfers[m_hSocket]=this;
- TurnSlashes(m_FileName,TRUE);
UpdateList();
-CString fn = localFile?ApplyRootGently(localFile):ApplyRoot(m_FileName);
+CString lf;
+ if(!localFile) {
+ lf = m_FileName;
+ TurnSlashes(lf,TRUE);
+ }
+CString fn = localFile?ApplyRootGently(localFile):ApplyRoot(lf);
if(!localFile){ // This is an incoming request..
if(CheckBadRelativeness(m_FileName)){
Deny(tftp::errAccessViolation,IDS_TFTP_ERROR_ACCESS);
return TRUE;
}
BOOL exists;
if(!_access((LPCTSTR)fn,0))
m_Rename=exists=TRUE;
else
m_Rename=exists=FALSE;
// *** m_WRQMode only if server transfer
switch(m_Daddy->m_WRQMode){
case CPumpKINDlg::wrqTakeAll:
if(exists){
if(!RenameFile(fn)){
Deny(tftp::errDiskFull,IDS_TFTP_ERROR_FAILEDTORENAME);
return TRUE;
}
}
break;
case CPumpKINDlg::wrqConfirmIfExists:
if(!exists)
break;
case CPumpKINDlg::wrqAlwaysConfirm:
if(exists)
m_bResume=TRUE;
if(ConfirmRequest()){
if(m_Rename){
RenameFile(fn);
if(SaveAs(fn))
break;
}else
break;
}
case CPumpKINDlg::wrqDenyAll:
Deny(tftp::errAccessViolation,IDS_TFTP_ERROR_ACCESS);
return TRUE;
}
}
CFileException e;
if(!m_File.Open(
fn,
m_bResume
?(CFile::modeWrite|CFile::shareDenyWrite)
:(CFile::modeCreate|CFile::modeWrite|CFile::shareDenyWrite),
&e
)){
if(localFile){ // Outgoing request
CString tmp;
tmp.Format(IDS_LOG_FAILEDTOOPEN,fn);
m_Daddy->LogLine(tmp);
return FALSE;
}else{
Deny(&e);
return TRUE;
}
}
if(hostName){
m_HostName=hostName;
CString tmp;
tmp.Format(IDS_LOG_REQUESTING,m_FileName,m_HostName);
m_Daddy->LogLine(tmp);
CString inAddr = hostName;
int at = inAddr.Find('@');
if(at>=0)
inAddr=inAddr.Mid(at+1);
if((m_Peer.sin_addr.s_addr=inet_addr((LPCTSTR)inAddr))==INADDR_NONE){
ASSERT(!m_wndResolver);
m_wndResolver = new CResolver(this);
ASSERT(m_wndResolver);
return m_wndResolver->Resolve();
}else{
OnHostKnown();
return TRUE;
}
}
CString v;
tftp::tftpOptions oack;
if(m_Options.Lookup(tftpoTSize,v)){
m_xferSize=atol(v);
if(!m_xferSize){
Deny(tftp::errOption,IDS_TFTP_ERROR_TSIZE);
return TRUE;
}
}
if(m_Options.Lookup(tftpoBSize,v)){
m_blkSize=atoi(v);
if(!m_blkSize){ // *** Do more about sanity check
Deny(tftp::errOption,IDS_TFTP_ERROR_BSIZE);
return TRUE;
}
v.Format("%u",m_blkSize);
oack[tftpoBSize]=v;
}
diff --git a/install/install.cpp b/install/install.cpp
index 62f1e20..6fa4ae4 100644
--- a/install/install.cpp
+++ b/install/install.cpp
@@ -1,67 +1,67 @@
#include "resource.h"
#include "../shared-code/install.h"
-#define KINAME "PumpKIN 2.5"
+#define KINAME "PumpKIN 2.5.1-trunk"
#define SKINAME "PumpKIN"
BOOL Install(void)
{
STRING dPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group",SKINAME "Path");
STRING kPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group","KINPath");
LPCSTR qPath = ((LPCSTR)dPath)?(LPCSTR)dPath:(((LPCSTR)kPath)?(LPSTR)kPath:"C:\\Program Files\\Klever\\Nothings");
STRING path = REQUESTPATH(" " KINAME,"\nEnter destination path:",qPath);
if(!path)
return NULL;
#ifdef K_ANNED
STRING sysDir(_MAX_PATH);
GetSystemDirectory(sysDir,_MAX_PATH);
INSTALLFILE("mfc42.dl_",sysDir,"mfc42.dll");
#endif
MAKE_PATH(path);
STRING shortPath = GET_SHORT_PATH(path);
if(!shortPath){
MessageBox(NULL,"Failed to install " KINAME " in specified directory",NULL,MB_ICONERROR|MB_OK);
return FALSE;
}
if(!(
INSTALLFILE(SKINAME ".ex_",path,SKINAME ".exe") &&
INSTALLFILE(SKINAME ".hl_",path,SKINAME ".hlp") &&
INSTALLFILE(SKINAME ".cn_",path,SKINAME ".cnt")
)){
MessageBox(NULL,"Failed to install " KINAME " in specified directory",NULL,MB_ICONERROR|MB_OK);
return FALSE;
}
ADDMENU("Klever Group",SKINAME,path, SKINAME ".exe");
strSET_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group",SKINAME "Path",path);
strSET_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group","KINPath",path);
FILE* inf=CREATE_INF_FILE(path,SKINAME ".INF");
if(!inf){
MessageBox(NULL,"Failed to install " KINAME,NULL,MB_ICONERROR|MB_OK);
return FALSE;
}
INF_FILE_HEADER(inf);
INF_FILE_SECTION(inf,"Uninstall");
fprintf(inf,"AddReg=kFiles\nDelReg=kReg\nUpdateInis=kMenu\n");
INF_FILE_SECTION(inf,"kFiles");
INF_REMOVE_ROOT(inf,SKINAME "Files",shortPath);
INF_REMOVE_FILE(inf,SKINAME "Files",SKINAME ".exe");
INF_REMOVE_HELP_FILE(inf,SKINAME "Files",SKINAME);
INF_REMOVE_FILE(inf,SKINAME "Files",SKINAME ".inf");
INF_FILE_SECTION(inf,"kReg");
INF_UNINSTALL_REG(inf,SKINAME);
INF_FILE_SECTION(inf,"kMenu");
INF_MENU_GROUP(inf,1,"Klever Group");
INF_MENU_ITEM(inf,1,SKINAME);
fclose(inf);
REG_UNINSTALL_COMMAND(SKINAME,"Klever " KINAME,shortPath,SKINAME ".INF","Uninstall");
MessageBox(NULL,KINAME " installed successfully, you may now run it from 'Programs/Klever Group' menu or remove it using Control Panel Add/Remove Programs applet."," Rejoice!",MB_ICONINFORMATION|MB_OK);
return TRUE;
}
diff --git a/install/install.rc b/install/install.rc
index b1a3037..30907ad 100644
--- a/install/install.rc
+++ b/install/install.rc
@@ -38,145 +38,145 @@ BEGIN
PUSHBUTTON "Cancel",IDCANCEL,143,53,50,14,BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_FLAT,WS_EX_DLGMODALFRAME
CONTROL "Animate1",IDC_DISKS,"SysAnimate32",ACS_TRANSPARENT |
ACS_AUTOPLAY | WS_TABSTOP,161,7,32,32
LTEXT "",IDC_STATE,7,7,150,32,SS_NOPREFIX | SS_NOTIFY
CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",0x0,7,45,
186,7,WS_EX_DLGMODALFRAME
END
#endif
IDD_PATH DIALOGEX 0, 0, 255, 73
STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | WS_POPUP |
WS_VISIBLE | WS_CAPTION
EXSTYLE WS_EX_TOOLWINDOW | WS_EX_CLIENTEDGE
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
LTEXT "",IDC_PROMPT,7,7,241,30
EDITTEXT IDC_PATH,7,37,195,12,ES_AUTOHSCROLL
PUSHBUTTON "B&rowse..",IDC_BROWSE,208,37,40,12
DEFPUSHBUTTON "OK",IDOK,69,52,50,14
PUSHBUTTON "Cancel",IDCANCEL,135,52,50,14
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
"IDD_INSTALLING$(FALSE)", DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 193
TOPMARGIN, 7
BOTTOMMARGIN, 67
HORZGUIDE, 39
END
IDD_PATH, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 248
VERTGUIDE, 202
VERTGUIDE, 208
TOPMARGIN, 7
BOTTOMMARGIN, 66
HORZGUIDE, 37
END
END
#endif // APSTUDIO_INVOKED
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""custom.rch""\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON ICON DISCARDABLE "../shared-data/install-icon.ico"
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,5,0,0
- PRODUCTVERSION 2,5,0,0
+ FILEVERSION 2,5,1,0
+ PRODUCTVERSION 2,5,1,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Klever Group (http://www.klever.net/)\0"
VALUE "FileDescription", "INSTALL: PumpKIN, tftp client/daemon\0"
- VALUE "FileVersion", "2, 5, 0, 0\0"
+ VALUE "FileVersion", "2, 5, 1, 0\0"
VALUE "InternalName", "INSTALL\0"
VALUE "LegalCopyright", "Copyright © 1997-2004 Klever Group (http://www.klever.net/)\0"
VALUE "LegalTrademarks", "Klever Group (http://www.klever.net/)\0"
VALUE "OriginalFilename", "INSTALL.EXE\0"
VALUE "ProductName", "PumpKIN\0"
- VALUE "ProductVersion", "2, 5, 0, 0\0"
+ VALUE "ProductVersion", "2, 5, 1, 0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // !_MAC
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
#include "custom.rch"
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
diff --git a/pumpkin.rc b/pumpkin.rc
index 67e5b24..7380e12 100644
--- a/pumpkin.rc
+++ b/pumpkin.rc
@@ -1,181 +1,181 @@
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
"#define _AFX_NO_OLE_RESOURCES\r\n"
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
"\r\n"
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
"#ifdef _WIN32\r\n"
"LANGUAGE 9, 1\r\n"
"#pragma code_page(1252)\r\n"
"#endif\r\n"
"#include ""res\\PumpKIN.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
"#include ""afxres.rc"" // Standard components\r\n"
"#endif\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_RRQ ICON DISCARDABLE "res\\wrq.ico"
IDI_WRQ ICON DISCARDABLE "res\\rrq.ico"
IDI_BROWSE ICON DISCARDABLE "shared-data/browse-icon.ico"
IDR_MAINFRAME ICON DISCARDABLE "res\\pumpkin.ico"
IDI_PLAY ICON DISCARDABLE "shared-data/play-icon.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 217, 74
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About PumpKIN"
FONT 8, "MS Sans Serif"
BEGIN
ICON IDR_MAINFRAME,IDC_STATIC,7,17,18,20
- LTEXT "PumpKIN, Version 2.5",IDC_STATIC,40,15,119,8,SS_NOPREFIX
+ LTEXT "PumpKIN, Version 2.5.1-trunk",IDC_STATIC,40,15,119,8,SS_NOPREFIX
LTEXT "Copyright © 1997-2004 Klever Group",IDC_STATIC,40,30,170,
8
DEFPUSHBUTTON "OK",IDOK,178,7,32,14,WS_GROUP
PUSHBUTTON "http://www.klever.net/",IDC_KLEVERNET,124,53,86,14
END
IDD_PUMPKIN_DIALOG DIALOGEX 0, 0, 362, 191
STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU
EXSTYLE WS_EX_ACCEPTFILES | WS_EX_APPWINDOW
CAPTION " PumpKIN"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
CONTROL "List1",IDC_CONNECTIONS,"SysListView32",LVS_REPORT |
LVS_AUTOARRANGE | WS_BORDER | WS_TABSTOP,7,7,295,108,
WS_EX_DLGMODALFRAME
PUSHBUTTON "&Get File",IDC_GET,305,7,50,17,BS_NOTIFY,
WS_EX_CLIENTEDGE
PUSHBUTTON "&Put File",IDC_PUT,305,25,50,17,BS_NOTIFY,
WS_EX_CLIENTEDGE
PUSHBUTTON "&Abort xfer",IDC_ABORT,305,43,50,17,BS_NOTIFY,
WS_EX_CLIENTEDGE
PUSHBUTTON "&Options",IDC_OPTIONS,305,61,50,17,BS_NOTIFY,
WS_EX_CLIENTEDGE
PUSHBUTTON "E&xit",IDC_EXIT,305,79,50,17,BS_NOTIFY,WS_EX_CLIENTEDGE
PUSHBUTTON "&Help",ID_HELP,305,97,50,17,BS_NOTIFY,WS_EX_CLIENTEDGE
LISTBOX IDC_LOG,7,115,348,69,LBS_USETABSTOPS | LBS_NOSEL |
WS_VSCROLL | WS_HSCROLL,WS_EX_DLGMODALFRAME
PUSHBUTTON "..",IDCANCEL,0,183,6,7,NOT WS_VISIBLE | NOT WS_TABSTOP
END
IDD_PROPS_SERVER DIALOG DISCARDABLE 0, 0, 210, 154
STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Server"
FONT 8, "MS Sans Serif"
BEGIN
GROUPBOX "TFTP filesystem &root (download path)",IDC_STATIC,7,7,
196,38
EDITTEXT IDC_TFTPROOT,13,16,170,13,ES_AUTOHSCROLL
PUSHBUTTON "&B",IDC_BROWSE,186,16,13,13,BS_ICON
CONTROL "Allow access to &subdirectories",IDC_TFTPSUBDIRS,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,31,111,10
GROUPBOX "Read Request Behavior",IDC_STATIC,7,48,153,42
CONTROL "Give &all files",IDC_RRQ_GIVEALL,"Button",
BS_AUTORADIOBUTTON | BS_NOTIFY | WS_GROUP,13,57,53,10
CONTROL "&Prompt before giving file",IDC_RRQ_ALWAYSCONFIRM,
"Button",BS_AUTORADIOBUTTON | BS_NOTIFY,23,67,91,10
CONTROL "&Deny all requests",IDC_RRQ_DENYALL,"Button",
BS_AUTORADIOBUTTON | BS_NOTIFY,33,77,70,10
GROUPBOX "Write Request Behavior",IDC_STATIC,7,93,172,54,WS_GROUP
CONTROL "Take a&ll files",IDC_WRQ_TAKEALL,"Button",
BS_AUTORADIOBUTTON | WS_GROUP,13,103,55,10
CONTROL "Prompt if file &exists",IDC_WRQ_PROMPTEXISTING,"Button",
BS_AUTORADIOBUTTON,23,113,73,10
CONTROL "Always pro&mpt before accepting file",
IDC_WRQ_ALWAYSCONFIRM,"Button",BS_AUTORADIOBUTTON,33,123,
139,10
CONTROL "D&eny all requests",IDC_WRQ_DENYALL,"Button",
BS_AUTORADIOBUTTON,43,133,70,10
CTEXT "Confirmation &timeout",IDC_STATIC,163,52,40,19,
SS_NOTIFY
CONTROL "Slider1",IDC_PROMPTTIMEOUT,"msctls_trackbar32",
TBS_AUTOTICKS | TBS_VERT | TBS_TOP | WS_TABSTOP,182,73,
21,74
END
IDD_PROPS_NETWORK DIALOG DISCARDABLE 0, 0, 210, 154
STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Network"
FONT 8, "MS Sans Serif"
BEGIN
GROUPBOX "UDP Ports",IDC_STATIC,7,7,196,40
RTEXT "Listen for &incoming requests on port:",IDC_STATIC,13,
18,135,8
EDITTEXT IDC_LISTENPORT,154,16,40,13,ES_AUTOHSCROLL
CONTROL "Spin1",IDC_LISTENSPIN,"msctls_updown32",UDS_WRAP |
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS | UDS_NOTHOUSANDS,183,16,11,13
RTEXT "Send &outging requests to port:",IDC_STATIC,13,31,135,8
EDITTEXT IDC_SPEAKPORT,154,29,40,13,ES_AUTOHSCROLL
CONTROL "Spin1",IDC_SPEAKSPIN,"msctls_updown32",UDS_WRAP |
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS | UDS_NOTHOUSANDS,183,29,11,13
LTEXT "Default connection timeout:",IDC_STATIC,7,52,88,8
EDITTEXT IDC_TIMEOUT,110,50,40,13,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin3",IDC_TIMESPIN,"msctls_updown32",UDS_WRAP |
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS | UDS_NOTHOUSANDS,140,50,11,13
LTEXT "Default block size:",IDC_STATIC,7,66,59,8
LTEXT "seconds",IDC_STATIC,154,52,28,8
LTEXT "bytes",IDC_STATIC,154,66,18,8
EDITTEXT IDC_BLOCKSIZE,110,64,40,13,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin3",IDC_BSIZESPIN,"msctls_updown32",UDS_WRAP |
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS | UDS_NOTHOUSANDS,140,64,11,13
END
@@ -193,217 +193,217 @@ BEGIN
CTEXT "255.255.255.255",IDC_HOST,57,15,68,14,SS_NOTIFY |
SS_SUNKEN | WS_BORDER,WS_EX_DLGMODALFRAME |
WS_EX_CLIENTEDGE
CTEXT "is requesting the file",IDC_STATIC,23,29,135,8
CTEXT "",IDC_FILE,23,37,135,14,SS_NOTIFY | SS_SUNKEN |
WS_BORDER,WS_EX_DLGMODALFRAME | WS_EX_CLIENTEDGE
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,7,54,167,1
ICON IDR_MAINFRAME,IDC_STATIC,7,7,18,20
ICON IDR_MAINFRAME,IDC_STATIC,153,7,18,20
END
IDD_CONFIRM_WRQ DIALOGEX 0, 0, 201, 95
STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | WS_POPUP | WS_CAPTION
EXSTYLE WS_EX_TOOLWINDOW | WS_EX_CLIENTEDGE
CAPTION " PumpKIN - Confirm Write Request"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
DEFPUSHBUTTON "&Accept",IDOK,7,58,59,14
PUSHBUTTON "&Rename",IDC_RENAME,71,58,59,14
PUSHBUTTON "&Deny Access",IDCANCEL,135,58,59,14
LTEXT "The host",IDC_STATIC,87,7,29,8
CTEXT "255.255.255.255",IDC_HOST,67,15,68,14,SS_NOTIFY |
SS_SUNKEN | WS_BORDER,WS_EX_DLGMODALFRAME |
WS_EX_CLIENTEDGE
CTEXT "is attempting to send you a file",IDC_STATIC,33,29,135,
8
CTEXT "",IDC_FILE,33,37,135,14,SS_NOTIFY | SS_SUNKEN |
WS_BORDER,WS_EX_DLGMODALFRAME | WS_EX_CLIENTEDGE
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,7,54,187,1
ICON IDR_MAINFRAME,IDC_STATIC,7,7,21,20
ICON IDR_MAINFRAME,IDC_STATIC,173,7,21,20
PUSHBUTTON "Res&ume",IDC_RESUME,71,74,59,14
END
IDD_REQUEST DIALOGEX 0, 0, 191, 161
STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | WS_POPUP | WS_CAPTION |
WS_SYSMENU
EXSTYLE WS_EX_CLIENTEDGE
CAPTION "Request"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
LTEXT "&Local file:",IDC_STATIC,7,7,31,8,SS_NOTIFY
EDITTEXT IDC_LOCALFILE,7,16,157,14,ES_AUTOHSCROLL,
WS_EX_CLIENTEDGE | WS_EX_STATICEDGE
PUSHBUTTON "...",IDC_BROWSE,165,16,19,14,BS_ICON,WS_EX_STATICEDGE
LTEXT "&Remote file:",IDC_STATIC,7,34,38,8,SS_NOTIFY
EDITTEXT IDC_REMOTEFILE,7,44,177,14,ES_AUTOHSCROLL,
WS_EX_CLIENTEDGE | WS_EX_STATICEDGE
LTEXT "Remote &host:",IDC_STATIC,7,61,43,8,SS_NOTIFY
COMBOBOX IDC_TALKS,7,72,157,66,CBS_SIMPLE | CBS_AUTOHSCROLL |
CBS_SORT | CBS_NOINTEGRALHEIGHT | WS_VSCROLL |
WS_TABSTOP,WS_EX_CLIENTEDGE | WS_EX_STATICEDGE
PUSHBUTTON "R\nE\n&F\nR\nE\nS\nH",IDC_REFRESH,165,72,19,66,
BS_CENTER | BS_VCENTER | BS_MULTILINE | BS_NOTIFY,
WS_EX_CLIENTEDGE
LTEXT "&Type:",IDC_STATIC,58,34,19,8
COMBOBOX IDC_TYPE,80,31,43,41,CBS_DROPDOWN | CBS_AUTOHSCROLL |
CBS_LOWERCASE | WS_VSCROLL | WS_TABSTOP
LTEXT "&Block:",IDC_STATIC,127,34,21,8
COMBOBOX IDC_BSIZE,149,31,35,53,CBS_DROPDOWN | WS_VSCROLL |
WS_TABSTOP
DEFPUSHBUTTON "OK",IDOK,35,140,50,14
PUSHBUTTON "Cancel",IDCANCEL,101,140,50,14
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDVERT,52,32,1,11
END
IDD_PROPS_SOUNDS DIALOG DISCARDABLE 0, 0, 210, 154
STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Sounds"
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "&Incoming request:",IDC_STATIC,7,9,57,8
COMBOBOX IDC_RING,70,7,103,100,CBS_DROPDOWN | CBS_AUTOHSCROLL |
CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "browse",IDC_RING_BROWSE,175,7,13,13,BS_ICON
PUSHBUTTON "play",IDC_RING_PLAY,190,7,13,13,BS_ICON
LTEXT "xfer &finished:",IDC_STATIC,7,25,57,8
COMBOBOX IDC_FINISHED,70,22,103,100,CBS_DROPDOWN |
CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "browse",IDC_FINISHED_BROWSE,175,22,13,13,BS_ICON
PUSHBUTTON "play",IDC_FINISHED_PLAY,190,22,13,13,BS_ICON
LTEXT "xfer &aborted:",IDC_STATIC,7,40,57,8
COMBOBOX IDC_ABORTED,70,37,103,100,CBS_DROPDOWN | CBS_AUTOHSCROLL |
CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "browse",IDC_ABORTED_BROWSE,175,37,13,13,BS_ICON
PUSHBUTTON "play",IDC_ABORTED_PLAY,190,37,13,13,BS_ICON
END
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,5,0,0
- PRODUCTVERSION 2,5,0,0
+ FILEVERSION 2,5,1,0
+ PRODUCTVERSION 2,5,1,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Klever Group (http://www.klever.net/)\0"
VALUE "FileDescription", "PumpKIN, tftp client/daemon\0"
- VALUE "FileVersion", "2, 5, 0, 0\0"
+ VALUE "FileVersion", "2, 5, 1, 0\0"
VALUE "InternalName", "PUMPKIN\0"
VALUE "LegalCopyright", "Copyright © 1997-2004 Klever Group (http://www.klever.net)\0"
VALUE "LegalTrademarks", "Klever Group (http://www.klever.net/)\0"
VALUE "OriginalFilename", "PUMPKIN.EXE\0"
VALUE "ProductName", "PumpKIN\0"
- VALUE "ProductVersion", "2, 5, 0, 0\0"
+ VALUE "ProductVersion", "2, 5, 1, 0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // !_MAC
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_ABOUTBOX, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 210
TOPMARGIN, 7
BOTTOMMARGIN, 67
END
IDD_PUMPKIN_DIALOG, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 355
TOPMARGIN, 7
BOTTOMMARGIN, 184
HORZGUIDE, 115
END
IDD_PROPS_SERVER, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 203
TOPMARGIN, 7
BOTTOMMARGIN, 147
END
IDD_PROPS_NETWORK, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 203
TOPMARGIN, 7
BOTTOMMARGIN, 147
END
IDD_CONFIRM_RRQ, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 174
TOPMARGIN, 7
BOTTOMMARGIN, 72
END
IDD_CONFIRM_WRQ, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 194
TOPMARGIN, 7
BOTTOMMARGIN, 88
END
IDD_REQUEST, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 184
TOPMARGIN, 7
BOTTOMMARGIN, 154
END
IDD_PROPS_SOUNDS, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 203
TOPMARGIN, 7
BOTTOMMARGIN, 147
END
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Bitmap
//
IDB_BACKGROUND BITMAP DISCARDABLE "shared-data/klever-background.bmp"
/////////////////////////////////////////////////////////////////////////////
//