summaryrefslogtreecommitdiff
path: root/mail/popper
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1998-06-29 14:18:42 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1998-06-29 14:18:42 +0000
commit60b8be15eeaa7b409bc46b408319b2c563428230 (patch)
treee7f4aac37947df0dbba9f31a6084d0abebb248c9 /mail/popper
parentInput server of Japanese text (SJ3+Wnn4) (diff)
Check password length too
Submitted by: idea from "Aaron D. Gifford" <agifford@infowest.com>
Notes
Notes: svn path=/head/; revision=11607
Diffstat (limited to 'mail/popper')
-rw-r--r--mail/popper/files/patch-ak53
-rw-r--r--mail/popper/files/patch-al82
2 files changed, 82 insertions, 53 deletions
diff --git a/mail/popper/files/patch-ak b/mail/popper/files/patch-ak
index 369314e5acaf..a7a27f656993 100644
--- a/mail/popper/files/patch-ak
+++ b/mail/popper/files/patch-ak
@@ -1,56 +1,3 @@
-*** pop_parse.c.old Wed Nov 19 14:20:38 1997
---- pop_parse.c Sat Jun 27 22:58:17 1998
-*************** char * buf; /* Pointer
-*** 26,31 ****
---- 26,32 ----
- {
- char * mp;
- register int i;
-+ register int parmlen;
-
- /* Loop through the POP command array */
- for (mp = buf, i = 0; ; i++) {
-*************** char * buf; /* Pointer
-*** 45,52 ****
- /* Point to the start of the token */
- p->pop_parm[i] = mp;
-
- /* Search for the first space character (end of the token) */
-! while (!isspace(*mp) && *mp) mp++;
-
- /* Delimit the token with a null */
- if (*mp) *mp++ = 0;
---- 46,75 ----
- /* Point to the start of the token */
- p->pop_parm[i] = mp;
-
-+ /* Start counting the length of this token */
-+ parmlen = 0;
-+
- /* Search for the first space character (end of the token) */
-! while (!isspace(*mp) && *mp) {
-! mp++;
-! parmlen++;
-! if (parmlen > MAXPARMLEN) {
-! /* Truncate parameter to the max. allowable size */
-! *mp = '\0';
-!
-! /* Fail with an appropriate message */
-! if (i == 0) {
-! pop_msg(p,POP_FAILURE,
-! "Command \"%s\" (truncated) exceedes maximum permitted size.",
-! p->pop_command);
-! } else {
-! pop_msg(p,POP_FAILURE,
-! "Argument %d \"%s\" (truncated) exceeds maximum permitted size.",
-! i, p->pop_parm[i]);
-! }
-! return(-1);
-! }
-! }
-
- /* Delimit the token with a null */
- if (*mp) *mp++ = 0;
*** popper.h.old Sun Jun 28 12:58:15 1998
--- popper.h Sun Jun 28 11:56:10 1998
***************
diff --git a/mail/popper/files/patch-al b/mail/popper/files/patch-al
new file mode 100644
index 000000000000..c987c0a08e4d
--- /dev/null
+++ b/mail/popper/files/patch-al
@@ -0,0 +1,82 @@
+*** pop_parse.c.orig Thu Nov 20 00:20:38 1997
+--- pop_parse.c Mon Jun 29 18:08:45 1998
+***************
+*** 26,31 ****
+--- 26,32 ----
+ {
+ char * mp;
+ register int i;
++ register int parmlen;
+
+ /* Loop through the POP command array */
+ for (mp = buf, i = 0; ; i++) {
+***************
+*** 45,52 ****
+ /* Point to the start of the token */
+ p->pop_parm[i] = mp;
+
+ /* Search for the first space character (end of the token) */
+! while (!isspace(*mp) && *mp) mp++;
+
+ /* Delimit the token with a null */
+ if (*mp) *mp++ = 0;
+--- 46,75 ----
+ /* Point to the start of the token */
+ p->pop_parm[i] = mp;
+
++ /* Start counting the length of this token */
++ parmlen = 0;
++
+ /* Search for the first space character (end of the token) */
+! while (!isspace(*mp) && *mp) {
+! mp++;
+! parmlen++;
+! if (parmlen > MAXPARMLEN) {
+! /* Truncate parameter to the max. allowable size */
+! *mp = '\0';
+!
+! /* Fail with an appropriate message */
+! if (i == 0) {
+! pop_msg(p,POP_FAILURE,
+! "Command \"%s\" (truncated) exceedes maximum permitted size.",
+! p->pop_command);
+! } else {
+! pop_msg(p,POP_FAILURE,
+! "Argument %d \"%s\" (truncated) exceeds maximum permitted size.",
+! i, p->pop_parm[i]);
+! }
+! return(-1);
+! }
+! }
+
+ /* Delimit the token with a null */
+ if (*mp) *mp++ = 0;
+***************
+*** 64,73 ****
+ if(p->pop_command[0] == 'p' && strcmp(p->pop_command,"pass") == 0) {
+ if (*mp != 0) {
+ p->pop_parm[1] = mp;
+! if (strlen(mp) > 0) {
+! mp = mp + strlen(mp) - 1;
+! while (*mp == 0xa || *mp == 0xd) *mp-- = 0;
+! }
+ return(1);
+ } else
+ return (-1);
+--- 87,102 ----
+ if(p->pop_command[0] == 'p' && strcmp(p->pop_command,"pass") == 0) {
+ if (*mp != 0) {
+ p->pop_parm[1] = mp;
+! mp += strlen(mp) - 1;
+! while (*mp == 0xa || *mp == 0xd) *mp-- = 0;
+! mp = p->pop_parm[1];
+! if (strlen(mp) > MAXPARMLEN) {
+! mp[MAXPARMLEN] = '\0';
+! pop_msg(p,POP_FAILURE,
+! "Password \"%s\" (truncated) exceeds maximum permitted size.",
+! mp);
+! return (-1);
+! }
+ return(1);
+ } else
+ return (-1);