|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
--- netkit-rsh-0.17/rlogind/sockconv.c.linefeed 1999-10-02 23:50:52.000000000 +0200
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+++ netkit-rsh-0.17/rlogind/sockconv.c 2006-07-17 14:30:50.000000000 +0200
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
@@ -86,6 +86,35 @@
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
return (text);
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
}
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+/* conver \n to \r\n and also terminate string by \r\n */
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+static void my_fputs(char *str, FILE *out)
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+{
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ char *p = str, *last = str;
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ while(p && *p) {
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ if ((p=strchr(p, '\n')) && (p==str || *(p-1)!='\r')) {
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ /* convert \n to \n\r */
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ fwrite((const void *) last, 1, p-last, out);
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ fputs("\r\n", out);
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ p++;
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ last = p;
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ else if (p && *(p+1))
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ /* \r\n already in strimg, continue... */
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ p++;
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ else {
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ /* write the rest of string */
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ int len = strlen(str);
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ fwrite((const void *) last, 1, len-(last-str), out);
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ if (*(str+(len-1)) != '\n')
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ fputs("\r\n", out); /* terminate output */
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ break;
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+}
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
static void drop_reply(struct pam_response *reply, int replies)
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
{
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
int i;
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
@@ -126,16 +155,15 @@
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
}
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
case PAM_ERROR_MSG:
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
- fprintf(stderr,"%s\n",msgm[replies]->msg);
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ my_fputs(msgm[replies]->msg, stderr);
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
string = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
-
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
case PAM_TEXT_INFO:
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
- fprintf(stderr,"%s\n",msgm[replies]->msg);
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
083fc6d |
+ my_fputs(msgm[replies]->msg, stderr);
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
string = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
default:
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
- fprintf(stderr, "erroneous conversation (%d)\n"
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
+ fprintf(stderr, "erroneous conversation (%d)\r\n"
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
,msgm[replies]->msg_style);
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
drop_reply(reply,replies);
|
|
![](https://seccdn.libravatar.org/avatar/0223a372e3c0d9a0bbf0437e6da2c6ed7b009e40d9f2fa1b07daea854a404e15?s=16&d=retro) |
e4aceb7 |
return (PAM_CONV_ERR);
|