Sophie

Sophie

distrib > Mandriva > 2009.0 > x86_64 > by-pkgid > a4e51422fe1b8d073f47c12205a319a3 > files > 16

kdelibs-3.5.10-4.4mdv2009.0.src.rpm

--- kdelibs-3.5.7/kdeprint/cups/cupsdconf2/cups-util.c.orig	2007-08-23 14:53:00.000000000 -0300
+++ kdelibs-3.5.7/kdeprint/cups/cupsdconf2/cups-util.c	2007-08-23 17:40:02.000000000 -0300
@@ -13,6 +13,9 @@
 static char		pwdstring[33];
 static int cups_local_auth(http_t *http);
 
+const char* cupsGetConf( void );
+int cupsPutConf( const char* );
+
 const char *				/* O - Filename for PPD file */
 cupsGetConf(void)
 {
@@ -29,6 +32,8 @@
   char		prompt[1024];		/* Prompt string */
   int		digest_tries;		/* Number of tries with Digest */
   static char	filename[HTTP_MAX_URI];	/* Local filename */
+  char          fqdn[ HTTP_MAX_URI ];   /* Server name buffer */
+
 
  /*
   * Connect to the correct server as needed...
@@ -108,15 +113,15 @@
       * See if we should retry the current digest password...
       */
 
-      if (strncmp(cups_server->fields[HTTP_FIELD_WWW_AUTHENTICATE], "Basic", 5) == 0 ||
+      if (strncmp( httpGetField( cups_server, HTTP_FIELD_WWW_AUTHENTICATE ), "Basic", 5) == 0 ||
           digest_tries > 1 || !pwdstring[0])
       {
        /*
 	* Nope - get a password from the user...
 	*/
+	httpGetHostname( cups_server, fqdn, sizeof( fqdn ) );
 
-	snprintf(prompt, sizeof(prompt), "Password for %s on %s? ", cupsUser(),
-        	 cups_server->hostname);
+	snprintf(prompt, sizeof(prompt), "Password for %s on %s? ", cupsUser(), fqdn );
 
         if ((password = cupsGetPassword(prompt)) == NULL)
 	  break;
@@ -135,7 +140,7 @@
       * Got a password; encode it for the server...
       */
 
-      if (strncmp(cups_server->fields[HTTP_FIELD_WWW_AUTHENTICATE], "Basic", 5) == 0)
+      if (strncmp( httpGetField( cups_server, HTTP_FIELD_WWW_AUTHENTICATE ), "Basic", 5) == 0)
       {
        /*
 	* Basic authentication...
@@ -210,7 +215,7 @@
   * OK, we need to copy the file...
   */
 
-  while ((bytes = httpRead(cups_server, buffer, sizeof(buffer))) > 0)
+  while ((bytes = httpRead2(cups_server, buffer, sizeof(buffer))) > 0)
   {
     write(fd, buffer, bytes);
   }
@@ -235,6 +240,7 @@
   http_status_t	status;			/* HTTP status from server */
   char		prompt[1024];		/* Prompt string */
   int		digest_tries;		/* Number of tries with Digest */
+  char          fqdn[ HTTP_MAX_URI ];   /* Server name buffer */
 
   if (name == NULL)
     return 0;
@@ -305,11 +311,11 @@
 	        break;
 	}
 	else
-	    httpWrite(cups_server, buffer, bytes);
+	    httpWrite2(cups_server, buffer, bytes);
 
     if (status == HTTP_CONTINUE)
     {
-        httpWrite(cups_server, buffer, 0);
+        httpWrite2(cups_server, buffer, 0);
 	while ((status = httpUpdate(cups_server)) == HTTP_CONTINUE);
     }
 
@@ -334,15 +340,16 @@
       * See if we should retry the current digest password...
       */
 
-      if (strncmp(cups_server->fields[HTTP_FIELD_WWW_AUTHENTICATE], "Basic", 5) == 0 ||
+      if (strncmp( httpGetField ( cups_server, HTTP_FIELD_WWW_AUTHENTICATE ), "Basic", 5) == 0 ||
           digest_tries > 1 || !pwdstring[0])
       {
        /*
 	* Nope - get a password from the user...
 	*/
 
-	snprintf(prompt, sizeof(prompt), "Password for %s on %s? ", cupsUser(),
-        	 cups_server->hostname);
+
+	httpGetHostname( cups_server, fqdn, sizeof( fqdn ) );
+	snprintf(prompt, sizeof(prompt), "Password for %s on %s? ", cupsUser(), fqdn );
 
         if ((password = cupsGetPassword(prompt)) == NULL)
 	  break;
@@ -361,7 +368,7 @@
       * Got a password; encode it for the server...
       */
 
-      if (strncmp(cups_server->fields[HTTP_FIELD_WWW_AUTHENTICATE], "Basic", 5) == 0)
+      if (strncmp(httpGetField( cups_server, HTTP_FIELD_WWW_AUTHENTICATE ), "Basic", 5) == 0)
       {
        /*
 	* Basic authentication...
@@ -492,3 +499,4 @@
 
   return (1);
 }
+
--- kdelibs-3.5.7/kdeprint/cups/ipprequest.cpp.orig	2007-08-23 17:56:12.000000000 -0300
+++ kdelibs-3.5.7/kdeprint/cups/ipprequest.cpp	2007-08-23 17:57:53.000000000 -0300
@@ -310,7 +310,7 @@
 	}
 
 #ifdef HAVE_CUPS_NO_PWD_CACHE
-	strncpy( HTTP->authstring, cups_authstring.data(), HTTP_MAX_VALUE );
+   httpSetAuthString( HTTP, NULL, cups_authstring.data() );
 #endif
 
 	if (dump_ > 0)
@@ -320,7 +320,7 @@
 
 	request_ = cupsDoFileRequest(HTTP, request_, (res.isEmpty() ? "/" : res.latin1()), (filename.isEmpty() ? NULL : filename.latin1()));
 #ifdef HAVE_CUPS_NO_PWD_CACHE
-	cups_authstring = HTTP->authstring;
+	cups_authstring = httpGetAuthString( HTTP );
 #endif
 	httpClose(HTTP);